@cesium/engine 25.0.0 → 26.1.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 (225) hide show
  1. package/Build/Workers/{chunk-3VDDRF2E.js → chunk-2EFYUSUY.js} +14 -14
  2. package/Build/Workers/{chunk-4GF4MVPY.js → chunk-5LSOO2KD.js} +7 -7
  3. package/Build/Workers/{chunk-I3A6DXYZ.js → chunk-6HK6IXK2.js} +4 -4
  4. package/Build/Workers/{chunk-CZ23Y3RM.js → chunk-6YR6JBMY.js} +2 -2
  5. package/Build/Workers/{chunk-J7KQEKPK.js → chunk-76FDC45O.js} +13 -13
  6. package/Build/Workers/{chunk-ZCCIIBZT.js → chunk-7D2HZKH7.js} +6 -6
  7. package/Build/Workers/{chunk-HSVQATK2.js → chunk-7KVKHY7O.js} +6 -6
  8. package/Build/Workers/{chunk-ITD2IN7N.js → chunk-A3O6EDBK.js} +2 -2
  9. package/Build/Workers/{chunk-ND3NTTOF.js → chunk-A6X24AZI.js} +6 -6
  10. package/Build/Workers/{chunk-DH26SNAB.js → chunk-AHWAZRBV.js} +6 -2
  11. package/Build/Workers/{chunk-3XY3MVPG.js → chunk-B4CQSLZJ.js} +4 -4
  12. package/Build/Workers/{chunk-DYT5NR6P.js → chunk-C7JQVRLM.js} +3 -3
  13. package/Build/Workers/{chunk-WC57YYBN.js → chunk-CDJDJ5LK.js} +2 -2
  14. package/Build/Workers/{chunk-VQKLRBIK.js → chunk-CEEZE3YZ.js} +7 -7
  15. package/Build/Workers/{chunk-4QQXGTCE.js → chunk-CLCTQVVL.js} +8 -8
  16. package/Build/Workers/{chunk-WNN5D4W3.js → chunk-DBD5WWG2.js} +10 -10
  17. package/Build/Workers/{chunk-URUCCIPS.js → chunk-DIGUUD6G.js} +6 -6
  18. package/Build/Workers/{chunk-BTX2NL3P.js → chunk-E7NZJOK7.js} +196 -22
  19. package/Build/Workers/{chunk-3LSD7OOA.js → chunk-EHTS2YPT.js} +16 -16
  20. package/Build/Workers/{chunk-35H3UBIO.js → chunk-ENNFMWDW.js} +11 -11
  21. package/Build/Workers/{chunk-GL7DNVUS.js → chunk-FCP2QY4G.js} +5 -5
  22. package/Build/Workers/{chunk-3RFFPH4M.js → chunk-FDK4K5IA.js} +1 -1
  23. package/Build/Workers/{chunk-WTQGE7Q6.js → chunk-FGQFQHN5.js} +17 -17
  24. package/Build/Workers/{chunk-WUBKZFF6.js → chunk-GSWMAFTE.js} +9 -9
  25. package/Build/Workers/{chunk-3TKLDHV3.js → chunk-GXWQZBAI.js} +2 -2
  26. package/Build/Workers/{chunk-A7A433MD.js → chunk-HHV3MCGV.js} +5 -5
  27. package/Build/Workers/{chunk-A7ZBMVFS.js → chunk-HS6AD4P2.js} +14 -14
  28. package/Build/Workers/{chunk-QXNQQYPV.js → chunk-IGAZBTFZ.js} +8 -8
  29. package/Build/Workers/{chunk-ZAPOS52G.js → chunk-ILME5BXA.js} +8 -8
  30. package/Build/Workers/{chunk-4MTRQFJP.js → chunk-JKXV6PG5.js} +1 -1
  31. package/Build/Workers/{chunk-FVLVVOBQ.js → chunk-JW6OZT4R.js} +10 -10
  32. package/Build/Workers/{chunk-EZARA5FJ.js → chunk-KGXSYGBG.js} +13 -13
  33. package/Build/Workers/{chunk-J3OFS2RD.js → chunk-LD64RPYV.js} +12 -12
  34. package/Build/Workers/{chunk-AWFZHD2B.js → chunk-LGNDTZVX.js} +4 -4
  35. package/Build/Workers/{chunk-AEAVLYPS.js → chunk-LNSQVXFH.js} +2 -2
  36. package/Build/Workers/{chunk-TA777BGS.js → chunk-N7CCOFLX.js} +1 -1
  37. package/Build/Workers/{chunk-7LSFAEWF.js → chunk-NIWITKQK.js} +10 -10
  38. package/Build/Workers/{chunk-4XXHJI6Y.js → chunk-OBEU25PI.js} +17 -17
  39. package/Build/Workers/{chunk-5T6QQAJW.js → chunk-QVLAFFJY.js} +1 -1
  40. package/Build/Workers/{chunk-J647NNZW.js → chunk-R4FPNAZ2.js} +6 -6
  41. package/Build/Workers/{chunk-HVMG6AG4.js → chunk-RG4F5R57.js} +9 -9
  42. package/Build/Workers/{chunk-ST2UWDUU.js → chunk-SF6K72D7.js} +5 -5
  43. package/Build/Workers/{chunk-H2A4USJR.js → chunk-SGRGNDOD.js} +10 -10
  44. package/Build/Workers/{chunk-DFEI5MAV.js → chunk-SM2CDCYF.js} +7 -7
  45. package/Build/Workers/{chunk-TAI4HLII.js → chunk-SS5ABQGY.js} +4 -4
  46. package/Build/Workers/{chunk-ACFFCHHZ.js → chunk-T5QBPLE3.js} +11 -11
  47. package/Build/Workers/{chunk-BVAIWR7O.js → chunk-TVZD72WJ.js} +12 -12
  48. package/Build/Workers/{chunk-6SDGQI27.js → chunk-UEY73NRN.js} +1 -1
  49. package/Build/Workers/{chunk-K6NFIRFB.js → chunk-UVO6COT2.js} +5 -5
  50. package/Build/Workers/{chunk-77RL3MBD.js → chunk-VAL7DYNR.js} +25 -4
  51. package/Build/Workers/{chunk-WN6P5UDH.js → chunk-WBSY7HDY.js} +12 -12
  52. package/Build/Workers/{chunk-FIBS5S7R.js → chunk-XDWCTQCZ.js} +2 -2
  53. package/Build/Workers/{chunk-CKQP3DSS.js → chunk-XLXSDIP5.js} +6 -6
  54. package/Build/Workers/{chunk-LH5SF3XV.js → chunk-XQ3SKCMM.js} +5 -5
  55. package/Build/Workers/{chunk-QSDY4NS7.js → chunk-YKU2Q3A2.js} +9 -9
  56. package/Build/Workers/{chunk-GPIGURCG.js → chunk-ZMBHFYOX.js} +7 -7
  57. package/Build/Workers/{chunk-QO2CGXMP.js → chunk-ZSGUV73H.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 +22 -22
  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 +22 -22
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +987 -2320
  103. package/Build/Workers/decodeI3S.js +10 -10
  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 +6 -6
  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/BoundingRectangle.js +6 -8
  112. package/Source/Core/Cartesian2.js +1 -1
  113. package/Source/Core/Cartesian3.js +1 -1
  114. package/Source/Core/Cartesian4.js +1 -1
  115. package/Source/Core/Color.js +1 -0
  116. package/Source/Core/ComponentDatatype.js +35 -0
  117. package/Source/Core/InterpolationAlgorithm.js +57 -50
  118. package/Source/Core/Ion.js +1 -1
  119. package/Source/Core/MapProjection.js +1 -0
  120. package/Source/Core/Matrix2.js +1 -1
  121. package/Source/Core/Matrix3.js +1 -1
  122. package/Source/Core/Matrix4.js +1 -1
  123. package/Source/Core/Resource.js +1 -1
  124. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  125. package/Source/Core/TerrainMesh.js +3 -3
  126. package/Source/Core/TerrainPicker.js +1 -0
  127. package/Source/Core/createColorRamp.js +37 -0
  128. package/Source/Core/globalTypes.js +25 -0
  129. package/Source/Core/writeTextToCanvas.js +1 -0
  130. package/Source/DataSources/CzmlDataSource.js +12 -0
  131. package/Source/DataSources/KmlDataSource.js +528 -555
  132. package/Source/DataSources/PathGraphics.js +8 -1
  133. package/Source/DataSources/PathMode.js +27 -0
  134. package/Source/DataSources/PathVisualizer.js +298 -1
  135. package/Source/Renderer/Pass.js +3 -2
  136. package/Source/Renderer/Texture.js +1 -1
  137. package/Source/Renderer/VertexArray.js +1 -0
  138. package/Source/Renderer/createUniform.js +346 -239
  139. package/Source/Renderer/createUniformArray.js +494 -381
  140. package/Source/Scene/ArcGisMapService.js +1 -1
  141. package/Source/Scene/BillboardTexture.js +5 -3
  142. package/Source/Scene/BufferPoint.js +1 -0
  143. package/Source/Scene/BufferPointCollection.js +14 -1
  144. package/Source/Scene/BufferPolygon.js +3 -2
  145. package/Source/Scene/BufferPolygonCollection.js +10 -0
  146. package/Source/Scene/BufferPolyline.js +1 -0
  147. package/Source/Scene/BufferPolylineCollection.js +2 -0
  148. package/Source/Scene/BufferPrimitiveCollection.js +79 -28
  149. package/Source/Scene/CameraEventAggregator.js +30 -18
  150. package/Source/Scene/Cesium3DTile.js +54 -1
  151. package/Source/Scene/Cesium3DTileContent.js +195 -254
  152. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  153. package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
  154. package/Source/Scene/Cesium3DTileset.js +45 -5
  155. package/Source/Scene/ClippingPlaneCollection.js +2 -2
  156. package/Source/Scene/ClippingPolygon.js +2 -0
  157. package/Source/Scene/ClippingPolygonCollection.js +2 -2
  158. package/Source/Scene/Composite3DTileContent.js +254 -292
  159. package/Source/Scene/DerivedCommand.js +4 -0
  160. package/Source/Scene/EdgeDisplayMode.js +50 -0
  161. package/Source/Scene/Empty3DTileContent.js +100 -132
  162. package/Source/Scene/Expression.js +6 -8
  163. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  164. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  165. package/Source/Scene/Geometry3DTileContent.js +151 -185
  166. package/Source/Scene/GlobeSurfaceShaderSet.js +501 -409
  167. package/Source/Scene/GlobeSurfaceTile.js +540 -401
  168. package/Source/Scene/GlobeSurfaceTileProvider.js +1259 -1146
  169. package/Source/Scene/GltfBufferViewLoader.js +3 -3
  170. package/Source/Scene/GltfLoader.js +110 -0
  171. package/Source/Scene/GltfLoaderUtil.js +20 -4
  172. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
  173. package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
  174. package/Source/Scene/ImageryLayer.js +2 -2
  175. package/Source/Scene/ImageryLayerCollection.js +2 -2
  176. package/Source/Scene/Implicit3DTileContent.js +179 -214
  177. package/Source/Scene/MVTDataProvider.js +147 -0
  178. package/Source/Scene/Material.js +1 -0
  179. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +79 -311
  180. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
  181. package/Source/Scene/Model/Model.js +37 -0
  182. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  183. package/Source/Scene/Model/ModelDrawCommand.js +31 -3
  184. package/Source/Scene/Model/ModelUtility.js +5 -0
  185. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +466 -150
  186. package/Source/Scene/ModelComponents.js +39 -1
  187. package/Source/Scene/Multiple3DTileContent.js +291 -334
  188. package/Source/Scene/Picking.js +5 -0
  189. package/Source/Scene/PntsParser.js +1 -0
  190. package/Source/Scene/QuadtreePrimitive.js +3 -2
  191. package/Source/Scene/ResourceCacheKey.js +5 -5
  192. package/Source/Scene/Scene.js +27 -0
  193. package/Source/Scene/Tileset3DTileContent.js +113 -146
  194. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
  195. package/Source/Scene/Vector3DTileContent.js +205 -234
  196. package/Source/Scene/VectorGltf3DTileContent.js +85 -36
  197. package/Source/Scene/VoxelPrimitive.js +159 -175
  198. package/Source/Scene/VoxelProvider.js +64 -91
  199. package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
  200. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  201. package/Source/Scene/decodeMVT.js +634 -0
  202. package/Source/Scene/findMeshoptExtension.js +23 -0
  203. package/Source/Scene/renderBufferPointCollection.js +113 -62
  204. package/Source/Scene/renderBufferPolygonCollection.js +98 -55
  205. package/Source/Scene/renderBufferPolylineCollection.js +270 -143
  206. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  207. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  208. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  209. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  210. package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
  211. package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
  212. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  213. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  214. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  215. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  216. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  217. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  218. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  219. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  220. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  221. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  222. package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
  223. package/index.d.ts +311 -288
  224. package/index.js +103 -92
  225. package/package.json +4 -4
package/index.d.ts CHANGED
@@ -3616,8 +3616,6 @@ export enum ClockStep {
3616
3616
  SYSTEM_CLOCK = 2
3617
3617
  }
3618
3618
 
3619
- export function hue2rgb(): void;
3620
-
3621
3619
  /**
3622
3620
  * A color, specified using red, green, blue, and alpha values,
3623
3621
  * which range from <code>0</code> (no intensity) to <code>1.0</code> (full intensity).
@@ -8736,17 +8734,20 @@ export enum IndexDatatype {
8736
8734
  UNSIGNED_INT = WebGLConstants.UNSIGNED_INT
8737
8735
  }
8738
8736
 
8739
- export namespace InterpolationAlgorithm {
8737
+ /**
8738
+ * The interface for interpolation algorithms.
8739
+ */
8740
+ export interface InterpolationAlgorithm {
8740
8741
  /**
8741
8742
  * Gets the name of this interpolation algorithm.
8742
8743
  */
8743
- var type: string;
8744
+ type: string;
8744
8745
  /**
8745
8746
  * Given the desired degree, returns the number of data points required for interpolation.
8746
8747
  * @param degree - The desired degree of interpolation.
8747
8748
  * @returns The number of required data points needed for the desired degree of interpolation.
8748
8749
  */
8749
- function getRequiredDataPoints(degree: number): number;
8750
+ getRequiredDataPoints(degree: number): number;
8750
8751
  /**
8751
8752
  * Performs zero order interpolation.
8752
8753
  * @param x - The independent variable for which the dependent variables will be interpolated.
@@ -8759,7 +8760,7 @@ export namespace InterpolationAlgorithm {
8759
8760
  * @param [result] - An existing array into which to store the result.
8760
8761
  * @returns The array of interpolated values, or the result parameter if one was provided.
8761
8762
  */
8762
- function interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[];
8763
+ interpolateOrderZero(x: number, xTable: number[], yTable: number[], yStride: number, result?: number[]): number[];
8763
8764
  /**
8764
8765
  * Performs higher order interpolation. Not all interpolators need to support high-order interpolation,
8765
8766
  * if this function remains undefined on implementing objects, interpolateOrderZero will be used instead.
@@ -8775,13 +8776,7 @@ export namespace InterpolationAlgorithm {
8775
8776
  * @param [result] - An existing array into which to store the result.
8776
8777
  * @returns The array of interpolated values, or the result parameter if one was provided.
8777
8778
  */
8778
- function interpolate(x: number, xTable: number[], yTable: number[], yStride: number, inputOrder: number, outputOrder: number, result?: number[]): number[];
8779
- }
8780
-
8781
- /**
8782
- * The interface for interpolation algorithms.
8783
- */
8784
- export interface InterpolationAlgorithm {
8779
+ interpolate(x: number, xTable: number[], yTable: number[], yStride: number, inputOrder: number, outputOrder: number, result?: number[]): number[];
8785
8780
  }
8786
8781
 
8787
8782
  /**
@@ -9571,7 +9566,7 @@ export interface MapProjection {
9571
9566
  /**
9572
9567
  * Gets the {@link Ellipsoid}.
9573
9568
  */
9574
- ellipsoid: Ellipsoid;
9569
+ readonly ellipsoid: Ellipsoid;
9575
9570
  /**
9576
9571
  * Projects {@link Cartographic} coordinates, in radians, to projection-specific map coordinates, in meters.
9577
9572
  * @param cartographic - The coordinates to project.
@@ -16122,25 +16117,25 @@ export class ScreenSpaceEventHandler {
16122
16117
  * Set a function to be executed on an input event.
16123
16118
  * @param action - Function to be executed when the input event occurs.
16124
16119
  * @param type - The ScreenSpaceEventType of input event.
16125
- * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16120
+ * @param [modifiers] - The KeyboardEventModifier keys that are held when a <code>type</code>
16126
16121
  * event occurs.
16127
16122
  */
16128
- setInputAction(action: ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback, type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
16123
+ setInputAction(action: ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback, type: ScreenSpaceEventType, modifiers?: KeyboardEventModifier[] | KeyboardEventModifier): void;
16129
16124
  /**
16130
16125
  * Returns the function to be executed on an input event.
16131
16126
  * @param type - The ScreenSpaceEventType of input event.
16132
- * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16127
+ * @param [modifiers] - The KeyboardEventModifier keys that are held when a <code>type</code>
16133
16128
  * event occurs.
16134
16129
  * @returns The function to be executed on an input event.
16135
16130
  */
16136
- getInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback;
16131
+ getInputAction(type: ScreenSpaceEventType, modifiers?: KeyboardEventModifier[] | KeyboardEventModifier): ScreenSpaceEventHandler.PositionedEventCallback | ScreenSpaceEventHandler.MotionEventCallback | ScreenSpaceEventHandler.WheelEventCallback | ScreenSpaceEventHandler.TwoPointEventCallback | ScreenSpaceEventHandler.TwoPointMotionEventCallback;
16137
16132
  /**
16138
16133
  * Removes the function to be executed on an input event.
16139
16134
  * @param type - The ScreenSpaceEventType of input event.
16140
- * @param [modifier] - A KeyboardEventModifier key that is held when a <code>type</code>
16135
+ * @param [modifiers] - The KeyboardEventModifier keys that are held when a <code>type</code>
16141
16136
  * event occurs.
16142
16137
  */
16143
- removeInputAction(type: ScreenSpaceEventType, modifier?: KeyboardEventModifier): void;
16138
+ removeInputAction(type: ScreenSpaceEventType, modifiers?: KeyboardEventModifier[] | KeyboardEventModifier): void;
16144
16139
  /**
16145
16140
  * Returns true if this object was destroyed; otherwise, false.
16146
16141
  * <br /><br />
@@ -16793,16 +16788,6 @@ export class TerrainData {
16793
16788
  wasCreatedByUpsampling(): boolean;
16794
16789
  }
16795
16790
 
16796
- /**
16797
- * Creates an axis-aligned bounding box for a quadtree node at the given tree-space coordinates and level.
16798
- * This AABB is in the tree's local space (where the root node of the tree is a unit cube in its own local space).
16799
- * @param x - The x coordinate of the node.
16800
- * @param y - The y coordinate of the node.
16801
- * @param level - The level of the node.
16802
- * @returns The axis-aligned bounding box for the node.
16803
- */
16804
- export function createAABBForNode(x: number, y: number, level: number): AxisAlignedBoundingBox;
16805
-
16806
16791
  export namespace TerrainProvider {
16807
16792
  /**
16808
16793
  * A function that is called when an error occurs.
@@ -18940,6 +18925,31 @@ export type TypedArrayConstructor = Float64ArrayConstructor | Float32ArrayConstr
18940
18925
 
18941
18926
  export type Destroyable = any;
18942
18927
 
18928
+ /**
18929
+ * A GeoJSON position expressed as [longitude, latitude] or [longitude, latitude, altitude].
18930
+ */
18931
+ export type GeoJsonPosition = number[];
18932
+
18933
+ /**
18934
+ * A GeoJSON geometry object.
18935
+ */
18936
+ export type GeoJsonGeometry = any;
18937
+
18938
+ /**
18939
+ * A GeoJSON feature object.
18940
+ */
18941
+ export type GeoJsonFeature = any;
18942
+
18943
+ /**
18944
+ * A GeoJSON feature collection object.
18945
+ */
18946
+ export type GeoJsonFeatureCollection = any;
18947
+
18948
+ /**
18949
+ * A top-level GeoJSON object (Geometry, Feature, or FeatureCollection).
18950
+ */
18951
+ export type GeoJson = GeoJsonGeometry | GeoJsonFeature | GeoJsonFeatureCollection;
18952
+
18943
18953
  /**
18944
18954
  * Determines if a given date is a leap year.
18945
18955
  * @example
@@ -19109,15 +19119,6 @@ export function srgbToLinear(value: number): number;
19109
19119
  */
19110
19120
  export function subdivideArray(array: any[], numberOfArrays: number): void;
19111
19121
 
19112
- /**
19113
- * Computes dimensions for text, based on current canvas state.
19114
- *
19115
- * Rounds metrics, excluding width, to whole pixels. This is purely to minimize
19116
- * rendering differences with migration to in-browser measureText(), and may be
19117
- * revised in the future. See: github.com/CesiumGS/cesium/pull/13081
19118
- */
19119
- export function measureText(): void;
19120
-
19121
19122
  /**
19122
19123
  * Writes the given text into a new canvas. The canvas will be sized to fit the text.
19123
19124
  * If text is blank, returns undefined.
@@ -22617,11 +22618,39 @@ export class KmlDataSource {
22617
22618
  update(time: JulianDate): boolean;
22618
22619
  }
22619
22620
 
22621
+ export namespace KmlFeatureData {
22622
+ /**
22623
+ * @property name - Gets the name.
22624
+ * @property uri - Gets the URI.
22625
+ * @property age - Gets the email.
22626
+ */
22627
+ type Author = {
22628
+ name: string;
22629
+ uri: string;
22630
+ age: number;
22631
+ };
22632
+ /**
22633
+ * @property href - Gets the href.
22634
+ * @property hreflang - Gets the language of the linked resource.
22635
+ * @property rel - Gets the link relation.
22636
+ * @property type - Gets the link type.
22637
+ * @property title - Gets the link title.
22638
+ * @property length - Gets the link length.
22639
+ */
22640
+ type Link = {
22641
+ href: string;
22642
+ hreflang: string;
22643
+ rel: string;
22644
+ type: string;
22645
+ title: string;
22646
+ length: string;
22647
+ };
22648
+ }
22649
+
22620
22650
  /**
22621
22651
  * Contains KML Feature data loaded into the <code>Entity.kml</code> property by {@link KmlDataSource}.
22622
22652
  */
22623
22653
  export class KmlFeatureData {
22624
- constructor();
22625
22654
  /**
22626
22655
  * Gets the atom syndication format author field.
22627
22656
  */
@@ -22650,35 +22679,6 @@ export class KmlFeatureData {
22650
22679
  extendedData: string;
22651
22680
  }
22652
22681
 
22653
- export namespace KmlFeatureData {
22654
- /**
22655
- * @property name - Gets the name.
22656
- * @property uri - Gets the URI.
22657
- * @property age - Gets the email.
22658
- */
22659
- type Author = {
22660
- name: string;
22661
- uri: string;
22662
- age: number;
22663
- };
22664
- /**
22665
- * @property href - Gets the href.
22666
- * @property hreflang - Gets the language of the linked resource.
22667
- * @property rel - Gets the link relation.
22668
- * @property type - Gets the link type.
22669
- * @property title - Gets the link title.
22670
- * @property length - Gets the link length.
22671
- */
22672
- type Link = {
22673
- href: string;
22674
- hreflang: string;
22675
- rel: string;
22676
- type: string;
22677
- title: string;
22678
- length: string;
22679
- };
22680
- }
22681
-
22682
22682
  /**
22683
22683
  * @param position - camera position
22684
22684
  * @param headingPitchRange - camera orientation
@@ -23388,10 +23388,11 @@ export namespace PathGraphics {
23388
23388
  * @property [leadTime] - A Property specifying the number of seconds in front the object to show.
23389
23389
  * @property [trailTime] - A Property specifying the number of seconds behind of the object to show.
23390
23390
  * @property [width = 1.0] - A numeric Property specifying the width in pixels.
23391
- * @property [resolution = 60] - A numeric Property specifying the maximum number of seconds to step when sampling the position.
23391
+ * @property [resolution = 60] - A numeric Property specifying the maximum number of seconds to step when sampling the position. Fractional positive values are allowed; in PORTIONS materialMode, non-positive values fall back to the default resolution of 60 seconds.
23392
23392
  * @property [material = Color.WHITE] - A Property specifying the material used to draw the path.
23393
23393
  * @property [distanceDisplayCondition] - A Property specifying at what distance from the camera that this path will be displayed.
23394
23394
  * @property [relativeTo] - A Property specifying the frame in which to visualize the path. Use another entity's id to visualize the path relative to that entity, or use the string values "FIXED" or "INERTIAL" to visualize the path in those reference frames.
23395
+ * @property [materialMode] - A Property specifying how material properties are applied along the path.
23395
23396
  */
23396
23397
  type ConstructorOptions = {
23397
23398
  show?: Property | boolean;
@@ -23402,6 +23403,7 @@ export namespace PathGraphics {
23402
23403
  material?: MaterialProperty | Color;
23403
23404
  distanceDisplayCondition?: Property | DistanceDisplayCondition;
23404
23405
  relativeTo?: Property | string;
23406
+ materialMode?: Property | PathMode;
23405
23407
  };
23406
23408
  }
23407
23409
 
@@ -23433,6 +23435,7 @@ export class PathGraphics {
23433
23435
  width: Property | undefined;
23434
23436
  /**
23435
23437
  * Gets or sets the Property specifying the maximum number of seconds to step when sampling the position.
23438
+ * Fractional positive values are allowed; in PORTIONS materialMode, non-positive values fall back to the default resolution of 60 seconds.
23436
23439
  */
23437
23440
  resolution: Property | undefined;
23438
23441
  /**
@@ -23461,6 +23464,21 @@ export class PathGraphics {
23461
23464
  merge(source: PathGraphics): void;
23462
23465
  }
23463
23466
 
23467
+ /**
23468
+ * Defines how material properties are applied along a path.
23469
+ */
23470
+ export enum PathMode {
23471
+ /**
23472
+ * The material is applied to the entire path as a whole.
23473
+ */
23474
+ WHOLE = 0,
23475
+ /**
23476
+ * The material is applied in portions based on temporal position information,
23477
+ * using interval-based material properties.
23478
+ */
23479
+ PORTIONS = 1
23480
+ }
23481
+
23464
23482
  /**
23465
23483
  * Transforms a path entity's position into the local frame of the reference entity.
23466
23484
  * If the reference entity has an orientation, uses that orientation to define the local frame.
@@ -26070,8 +26088,6 @@ export enum TextureMinificationFilter {
26070
26088
  LINEAR_MIPMAP_LINEAR = WebGLConstants.LINEAR_MIPMAP_LINEAR
26071
26089
  }
26072
26090
 
26073
- export function addAttribute(): void;
26074
-
26075
26091
  /**
26076
26092
  * An appearance defines the full GLSL vertex and fragment shaders and the
26077
26093
  * render state used to draw a {@link Primitive}. All appearances implement
@@ -27711,13 +27727,24 @@ export type BufferPointOptions = {
27711
27727
  * collection.get(i, point);
27712
27728
  * point.setMaterial(material);
27713
27729
  * }
27730
+ * @param [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
27731
+ * @param [options.allowPicking = false] - When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
27732
+ * @param [options.boundingVolume] - Bounding volume, in world space, for the collection. When
27733
+ * unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
27734
+ * specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
27735
+ * manually, and updating it only as needed, will improve performance for larger dynamic collections.
27714
27736
  */
27715
27737
  export class BufferPointCollection extends BufferPrimitiveCollection<BufferPoint> {
27716
27738
  constructor(options: {
27739
+ modelMatrix?: Matrix4;
27717
27740
  primitiveCountMax?: number;
27741
+ positionDatatype?: ComponentDatatype;
27742
+ positionNormalized?: boolean;
27718
27743
  show?: boolean;
27719
- debugShowBoundingVolume?: boolean;
27720
27744
  allowPicking?: boolean;
27745
+ boundingVolume?: BoundingSphere;
27746
+ debugShowBoundingVolume?: boolean;
27747
+ blendOption?: BlendOption;
27721
27748
  });
27722
27749
  /**
27723
27750
  * Adds a new point to the collection, with the specified options. A
@@ -27946,6 +27973,10 @@ export type BufferPolygonOptions = {
27946
27973
  * polygon.setMaterial(material);
27947
27974
  * }
27948
27975
  * @param [options.allowPicking = true] - When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
27976
+ * @param [options.boundingVolume] - Bounding volume, in world space, for the collection. When
27977
+ * unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
27978
+ * specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
27979
+ * manually, and updating it only as needed, will improve performance for larger dynamic collections.
27949
27980
  */
27950
27981
  export class BufferPolygonCollection extends BufferPrimitiveCollection<BufferPolygon> {
27951
27982
  constructor(options: {
@@ -27954,9 +27985,12 @@ export class BufferPolygonCollection extends BufferPrimitiveCollection<BufferPol
27954
27985
  holeCountMax?: number;
27955
27986
  triangleCountMax?: number;
27956
27987
  positionDatatype?: ComponentDatatype;
27988
+ positionNormalized?: boolean;
27957
27989
  show?: boolean;
27958
27990
  allowPicking?: boolean;
27991
+ boundingVolume?: BoundingSphere;
27959
27992
  debugShowBoundingVolume?: boolean;
27993
+ blendOption?: BlendOption;
27960
27994
  });
27961
27995
  /**
27962
27996
  * Duplicates the contents of this collection into the result collection.
@@ -28236,7 +28270,14 @@ export type BufferPrimitiveOptions = {
28236
28270
  * {@link Color}, {@link Cartesian3}, and other objects can all be reused when working with large collections,
28237
28271
  * using the {@link https://en.wikipedia.org/wiki/Flyweight_pattern|flyweight pattern}.</p>
28238
28272
  * @param [options.modelMatrix = Matrix4.IDENTITY] - Transforms geometry from model to world coordinates.
28273
+ * @param [options.positionNormalized = false] - When <code>true</code>, integer position values are treated as normalized,
28274
+ * where the full integer range maps to [-1, 1] (signed) or [0, 1] (unsigned). Only relevant for integer position datatypes
28275
+ * (BYTE, UNSIGNED_BYTE, SHORT, UNSIGNED_SHORT).
28239
28276
  * @param [options.allowPicking = false] - When <code>true</code>, primitives are pickable with {@link Scene#pick}. When <code>false</code>, memory and initialization cost are lower.
28277
+ * @param [options.boundingVolume] - Bounding volume, in world space, for the collection. When
28278
+ * unspecified, a bounding volume is computed automatically and updated when primitive positions change. When
28279
+ * specified, users are responsible for updating bounding volume as needed. Pre-computing the bounding volume
28280
+ * manually, and updating it only as needed, will improve performance for larger dynamic collections.
28240
28281
  */
28241
28282
  export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28242
28283
  constructor(options: {
@@ -28245,16 +28286,22 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28245
28286
  vertexCountMax?: number;
28246
28287
  show?: boolean;
28247
28288
  positionDatatype?: ComponentDatatype;
28289
+ positionNormalized?: boolean;
28248
28290
  allowPicking?: boolean;
28291
+ boundingVolume?: BoundingSphere;
28249
28292
  debugShowBoundingVolume?: boolean;
28293
+ blendOption?: BlendOption;
28250
28294
  });
28251
28295
  /**
28252
28296
  * Determines if primitives in this collection will be shown.
28253
28297
  */
28254
28298
  show: boolean;
28299
+ /**
28300
+ * Transforms geometry from model to world coordinates.
28301
+ */
28255
28302
  protected readonly _modelMatrix: Matrix4;
28256
28303
  protected readonly _boundingVolume: BoundingSphere;
28257
- protected readonly _boundingVolumeWC: BoundingSphere;
28304
+ protected readonly _boundingVolumeAutoUpdate: boolean;
28258
28305
  /**
28259
28306
  * This property is for debugging only; it is not for production use nor is it optimized.
28260
28307
  * <p>
@@ -28349,15 +28396,20 @@ export class BufferPrimitiveCollection<T extends BufferPrimitive> {
28349
28396
  */
28350
28397
  readonly modelMatrix: Matrix4;
28351
28398
  /**
28352
- * Local bounding volume for all primitives in the collection, including both
28399
+ * World-space bounding volume for all primitives in the collection, including both
28353
28400
  * shown and hidden primitives.
28354
28401
  */
28355
28402
  readonly boundingVolume: BoundingSphere;
28356
28403
  /**
28357
- * World bounding volume for all primitives in the collection, including both
28358
- * shown and hidden primitives.
28404
+ * The component datatype used to store position values.
28359
28405
  */
28360
- readonly boundingVolumeWC: BoundingSphere;
28406
+ readonly positionDatatype: ComponentDatatype;
28407
+ /**
28408
+ * When <code>true</code>, integer position values are treated as normalized
28409
+ * values, where the full integer range maps to [-1, 1] (signed) or [0, 1]
28410
+ * (unsigned).
28411
+ */
28412
+ readonly positionNormalized: boolean;
28361
28413
  /**
28362
28414
  * Returns a JSON-serializable array representing the collection. This encoding
28363
28415
  * is not memory-efficient, and should generally be used for debugging and
@@ -29321,8 +29373,7 @@ export enum Cesium3DTileColorBlendMode {
29321
29373
  * This type describes an interface and is not intended to be instantiated directly.
29322
29374
  * </p>
29323
29375
  */
29324
- export class Cesium3DTileContent {
29325
- constructor();
29376
+ export interface Cesium3DTileContent {
29326
29377
  /**
29327
29378
  * Gets the number of features in the tile.
29328
29379
  */
@@ -30683,6 +30734,7 @@ export namespace Cesium3DTileset {
30683
30734
  * @property [debugColorizeTiles = false] - For debugging only. When true, assigns a random color to each tile.
30684
30735
  * @property [enableDebugWireframe = false] - For debugging only. This must be true for debugWireframe to work in WebGL1. This cannot be set after the tileset has been created.
30685
30736
  * @property [debugWireframe = false] - For debugging only. When true, render's each tile's content as a wireframe.
30737
+ * @property [edgeDisplayMode = EdgeDisplayMode.SURFACES_ONLY] - Controls how edges from the {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility} glTF extension are rendered relative to surface geometry.
30686
30738
  * @property [debugShowBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile.
30687
30739
  * @property [debugShowContentBoundingVolume = false] - For debugging only. When true, renders the bounding volume for each tile's content.
30688
30740
  * @property [debugShowViewerRequestVolume = false] - For debugging only. When true, renders the viewer request volume for each tile.
@@ -30751,6 +30803,7 @@ export namespace Cesium3DTileset {
30751
30803
  debugColorizeTiles?: boolean;
30752
30804
  enableDebugWireframe?: boolean;
30753
30805
  debugWireframe?: boolean;
30806
+ edgeDisplayMode?: EdgeDisplayMode;
30754
30807
  debugShowBoundingVolume?: boolean;
30755
30808
  debugShowContentBoundingVolume?: boolean;
30756
30809
  debugShowViewerRequestVolume?: boolean;
@@ -31175,6 +31228,13 @@ export class Cesium3DTileset {
31175
31228
  * </p>
31176
31229
  */
31177
31230
  debugWireframe: boolean;
31231
+ /**
31232
+ * Controls how edges from the
31233
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
31234
+ * glTF extension are rendered relative to surface geometry. Tile content
31235
+ * primitives that do not declare the extension are unaffected.
31236
+ */
31237
+ edgeDisplayMode: EdgeDisplayMode;
31178
31238
  /**
31179
31239
  * This property is for debugging only; it is not optimized for production use.
31180
31240
  * <p>
@@ -32102,33 +32162,6 @@ export class ClippingPolygon {
32102
32162
  computeRectangle(result?: Rectangle): Rectangle;
32103
32163
  }
32104
32164
 
32105
- /**
32106
- * Returns a deep copy of the given array.
32107
- *
32108
- * If the input is undefined, then <code>undefined</code> is returned.
32109
- *
32110
- * Otherwise, the result will be a copy of the given array, where
32111
- * each element is copied with <code>Cartesian3.clone</code>.
32112
- * @param input - The input array
32113
- * @returns The copy
32114
- */
32115
- export function copyArrayCartesian3(input: Cartesian3[] | undefined): Cartesian3[] | undefined;
32116
-
32117
- /**
32118
- * Returns whether the given arrays are component-wise equal.
32119
- *
32120
- * When both arrays are undefined, then <code>true</code> is returned.
32121
- * When only one array is defined, or they are both defined but have
32122
- * different lengths, then <code>false</code> is returned.
32123
- *
32124
- * Otherwise, returns whether the corresponding elements of the arrays
32125
- * are equal, as of <code>Cartesian3.equals</code>.
32126
- * @param a - The first array
32127
- * @param b - The second array
32128
- * @returns Whether the arrays are equal
32129
- */
32130
- export function equalsArrayCartesian3(a: Cartesian3[] | undefined, b: Cartesian3[] | undefined): boolean;
32131
-
32132
32165
  /**
32133
32166
  * Specifies a set of clipping polygons. Clipping polygons selectively disable rendering in a region
32134
32167
  * inside or outside the specified list of {@link ClippingPolygon} objects for a single glTF model, 3D Tileset, or the globe.
@@ -33130,47 +33163,6 @@ export enum DepthFunction {
33130
33163
  ALWAYS = WebGLConstants.ALWAYS
33131
33164
  }
33132
33165
 
33133
- /**
33134
- * Returns a shader statement that applies the inverse of the
33135
- * value transform to the given value, based on the given offset
33136
- * and scale.
33137
- * @param input - The input value
33138
- * @param offset - The offset
33139
- * @param scale - The scale
33140
- * @returns The statement
33141
- */
33142
- export function unapplyValueTransform(input: string, offset: string, scale: string): string;
33143
-
33144
- /**
33145
- * Returns a shader statement that applies the inverse of the
33146
- * normalization, based on the given component type
33147
- * @param input - The input value
33148
- * @param componentType - The component type
33149
- * @returns The statement
33150
- */
33151
- export function unnormalize(input: string, componentType: string): string;
33152
-
33153
- /**
33154
- * Creates a shader statement that returns the value of the specified
33155
- * property, normalized to the range [0, 1].
33156
- * @param classProperty - The class property
33157
- * @param metadataProperty - The metadata property, either
33158
- * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
33159
- * @returns The string
33160
- */
33161
- export function getSourceValueStringScalar(classProperty: MetadataClassProperty, metadataProperty: any): string;
33162
-
33163
- /**
33164
- * Creates a shader statement that returns the value of the specified
33165
- * component of the given property, normalized to the range [0, 1].
33166
- * @param classProperty - The class property
33167
- * @param metadataProperty - The metadata property, either
33168
- * a `PropertyTextureProperty` or a `PropertyAttributeProperty`
33169
- * @param componentName - The name, in ["x", "y", "z", "w"]
33170
- * @returns The string
33171
- */
33172
- export function getSourceValueStringComponent(classProperty: MetadataClassProperty, metadataProperty: any, componentName: string): string;
33173
-
33174
33166
  /**
33175
33167
  * A light that gets emitted in a single direction from infinitely far away.
33176
33168
  * @param options - Object with the following properties:
@@ -33404,6 +33396,35 @@ export class DynamicEnvironmentMapManager {
33404
33396
  static readonly DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS: Cartesian3[];
33405
33397
  }
33406
33398
 
33399
+ /**
33400
+ * Defines how edges contributed by the
33401
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
33402
+ * glTF extension are rendered relative to surface geometry.
33403
+ * <p>
33404
+ * Primitives that do not include the extension are unaffected by this setting
33405
+ * and always render normally.
33406
+ * </p>
33407
+ */
33408
+ export enum EdgeDisplayMode {
33409
+ /**
33410
+ * Render surfaces only. Edges from the
33411
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
33412
+ * extension are hidden.
33413
+ */
33414
+ SURFACES_ONLY = 0,
33415
+ /**
33416
+ * Render both surfaces and edges. Edges from the
33417
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
33418
+ * extension are composited on top of the surface geometry.
33419
+ */
33420
+ SURFACES_AND_EDGES = 1,
33421
+ /**
33422
+ * Render edges only. Surface geometry is hidden for primitives that have edge visibility data,
33423
+ * approximating CAD-style wireframe rendering. Primitives without the extension are unaffected.
33424
+ */
33425
+ EDGES_ONLY = 2
33426
+ }
33427
+
33407
33428
  /**
33408
33429
  * An appearance for geometry on the surface of the ellipsoid like {@link PolygonGeometry}
33409
33430
  * and {@link RectangleGeometry}, which supports all materials like {@link MaterialAppearance}
@@ -33861,14 +33882,16 @@ export class FrameRateMonitor {
33861
33882
  destroy(): void;
33862
33883
  }
33863
33884
 
33885
+ export interface GaussianSplat3DTileContent extends Cesium3DTileContent {
33886
+ }
33887
+
33864
33888
  /**
33865
33889
  * Represents the contents of a glTF or glb using the {@link https://github.com/CesiumGS/glTF/tree/draft-splat-spz/extensions/2.0/Khronos/KHR_gaussian_splatting | KHR_gaussian_splatting} and {@link https://github.com/CesiumGS/glTF/tree/draft-splat-spz/extensions/2.0/Khronos/KHR_gaussian_splatting_compression_spz_2 | KHR_gaussian_splatting_compression_spz_2} extensions.
33866
33890
  * <p>
33867
33891
  * Implements the {@link Cesium3DTileContent} interface.
33868
33892
  * </p>
33869
33893
  */
33870
- export class GaussianSplat3DTileContent {
33871
- constructor();
33894
+ export class GaussianSplat3DTileContent implements Cesium3DTileContent {
33872
33895
  /**
33873
33896
  * Performs checks to ensure that the provided tileset has the Gaussian Splatting extensions.
33874
33897
  * @param tileset - The tileset to check for the extensions.
@@ -33933,7 +33956,7 @@ export class GaussianSplat3DTileContent {
33933
33956
  * The resource that this content was loaded from.
33934
33957
  * <p>
33935
33958
  */
33936
- readonly url: Resource;
33959
+ readonly url: string;
33937
33960
  /**
33938
33961
  * Returns whether the feature has this property.
33939
33962
  * @param batchId - The batchId for the feature.
@@ -33954,6 +33977,75 @@ export class GaussianSplat3DTileContent {
33954
33977
  getFeature(batchId: number): Cesium3DTileFeature;
33955
33978
  }
33956
33979
 
33980
+ export type GeoJsonPrimitiveConstructorOptions = {
33981
+ geoJson?: any;
33982
+ url?: Resource | string;
33983
+ ellipsoid?: Ellipsoid;
33984
+ allowPicking?: boolean;
33985
+ show?: boolean;
33986
+ pickObjectFactory?: (...params: any[]) => any;
33987
+ };
33988
+
33989
+ /**
33990
+ * Lightweight GeoJSON loader that converts features directly into
33991
+ * {@link BufferPointCollection}, {@link BufferPolylineCollection}, and
33992
+ * {@link BufferPolygonCollection}.
33993
+ *
33994
+ * Unlike {@link GeoJsonDataSource}, this path does not create entities.
33995
+ * Instead, it exposes high-throughput buffer primitive collections that can be
33996
+ * added directly to {@link Scene#primitives}.
33997
+ * @example
33998
+ * const loader = await Cesium.GeoJsonPrimitive.fromUrl("./data.geojson");
33999
+ * viewer.scene.primitives.add(loader);
34000
+ *
34001
+ * loader.points; // BufferPointCollection | undefined
34002
+ * loader.polylines; // BufferPolylineCollection | undefined
34003
+ * loader.polygons; // BufferPolygonCollection | undefined
34004
+ * loader.ids; // source feature IDs
34005
+ * loader.properties; // source feature properties
34006
+ */
34007
+ export class GeoJsonPrimitive {
34008
+ constructor(options?: GeoJsonPrimitiveConstructorOptions);
34009
+ /**
34010
+ * Loader source URL when created via {@link GeoJsonPrimitive.fromUrl}.
34011
+ */
34012
+ readonly url: string | undefined;
34013
+ /**
34014
+ * Feature count represented by the loaded collections.
34015
+ */
34016
+ readonly featureCount: number;
34017
+ /**
34018
+ * Lookup table from integer ID generated by GeoJsonPrimitive, to integer or string Feature ID from GeoJSON source.
34019
+ */
34020
+ readonly ids: (string | number | undefined)[];
34021
+ /**
34022
+ * Source GeoJSON properties, indexed by generated integer ID.
34023
+ */
34024
+ readonly properties: Record<string, unknown>[];
34025
+ /**
34026
+ * Buffer point collection for point geometries.
34027
+ */
34028
+ readonly points: BufferPointCollection | undefined;
34029
+ /**
34030
+ * Buffer polyline collection for linestring geometries.
34031
+ */
34032
+ readonly polylines: BufferPolylineCollection | undefined;
34033
+ /**
34034
+ * Buffer polygon collection for polygon geometries.
34035
+ */
34036
+ readonly polygons: BufferPolygonCollection | undefined;
34037
+ /**
34038
+ * Loads GeoJSON from a URL or {@link Resource}.
34039
+ */
34040
+ static fromUrl(url: Resource | string, options?: GeoJsonPrimitiveConstructorOptions): Promise<GeoJsonPrimitive>;
34041
+ /**
34042
+ * Creates a loader directly from a parsed GeoJSON object.
34043
+ */
34044
+ static fromGeoJson(geoJson: any, options?: GeoJsonPrimitiveConstructorOptions): GeoJsonPrimitive;
34045
+ getId(featureId: number): void;
34046
+ getProperties(featureId: number): void;
34047
+ }
34048
+
33957
34049
  /**
33958
34050
  * Describes the format in which to request GetFeatureInfo from a Web Map Service (WMS) or Web Map Tile Service (WMTS) server.
33959
34051
  * @param type - The type of response to expect from a GetFeatureInfo request. Valid
@@ -34354,10 +34446,14 @@ export class GlobeTranslucency {
34354
34446
  rectangle: Rectangle;
34355
34447
  }
34356
34448
 
34357
- /**
34358
- * Loads the gltf object
34359
- */
34360
- export function loadGltfJson(): void;
34449
+ export type EXTMeshPolygonExtension = {
34450
+ count: number;
34451
+ indicesOffsets: number;
34452
+ loopIndices?: number;
34453
+ loopIndicesOffsets?: number;
34454
+ triangleIndices?: number;
34455
+ triangleIndicesOffsets?: number;
34456
+ };
34361
34457
 
34362
34458
  /**
34363
34459
  * Removes an extension from gltf.extensions, gltf.extensionsUsed, gltf.extensionsRequired, and any other objects in the glTF if it is present.
@@ -37654,6 +37750,32 @@ export class Light {
37654
37750
  intensity: number;
37655
37751
  }
37656
37752
 
37753
+ /**
37754
+ * A Mapbox Vector Tiles (MVT) data provider. Loads .mvt or .pbf tiles, converting tiles
37755
+ * dynamically (at runtime) into 3D Tiles.
37756
+ *
37757
+ * <div class="notice">
37758
+ * This object is normally not instantiated directly, use {@link MVTDataProvider.fromUrl}.
37759
+ * </div>
37760
+ */
37761
+ export class MVTDataProvider {
37762
+ /**
37763
+ * Creates an MVTDataProvider from the specified URL template and options.
37764
+ * @param url - URL template, containing {z}, {x}, and {y} placeholders.
37765
+ * @param [options] - Provider options.
37766
+ * @param [options.minZoom = 0] - Minimum zoom level represented in the generated tileset.
37767
+ * @param [options.maxZoom = 14] - Maximum zoom level represented in the generated tileset.
37768
+ * @param [options.extent] - Optional geographic extent in radians to constrain the generated tile tree.
37769
+ * @param [options.featureIdProperty] - MVT property name to use as feature ID.
37770
+ */
37771
+ static fromUrl(url: Resource | string, options?: {
37772
+ minZoom?: number;
37773
+ maxZoom?: number;
37774
+ extent?: Rectangle;
37775
+ featureIdProperty?: string;
37776
+ }): void;
37777
+ }
37778
+
37657
37779
  /**
37658
37780
  * Describes how the map will operate in 2D.
37659
37781
  */
@@ -38354,14 +38476,6 @@ export class Material {
38354
38476
  static readonly WaterMaskType: string;
38355
38477
  }
38356
38478
 
38357
- /**
38358
- * Loads the images for a cubemap uniform, if it has changed since the last time this was called.
38359
- * @param material - The material to load the cubemap images for.
38360
- * @param uniformId - The ID of the uniform that corresponds to the cubemap images.
38361
- * @returns A promise that resolves when the images are loaded, or a resolved promise if image loading is not necessary.
38362
- */
38363
- export function loadCubeMapImagesForUniform(material: Material, uniformId: string): any;
38364
-
38365
38479
  /**
38366
38480
  * An appearance for arbitrary geometry (as opposed to {@link EllipsoidSurfaceAppearance}, for example)
38367
38481
  * that supports shading with materials.
@@ -39302,36 +39416,6 @@ export class CorrelationGroup {
39302
39416
  readonly params: Spdcf[];
39303
39417
  }
39304
39418
 
39305
- /**
39306
- * Creates a Matrix3 that describes a covariance matrix (which is
39307
- * symmetric) from the array containing the upper triangle, in
39308
- * column-major order.
39309
- * @param array - The input array
39310
- * @returns The Matrix3
39311
- */
39312
- export function createCovarianceMatrixFromUpperTriangle(array: number[]): Matrix3;
39313
-
39314
- /**
39315
- * Creates an `AnchorPointDirect` from the given JSON representation
39316
- * @param anchorPointDirectJson - The input JSON
39317
- * @returns The direct anchor point
39318
- */
39319
- export function createAnchorPointDirect(anchorPointDirectJson: any): AnchorPointDirect;
39320
-
39321
- /**
39322
- * Creates an `AnchorPointIndirect` from the given JSON representation
39323
- * @param anchorPointIndirectJson - The input JSON
39324
- * @returns The indirect anchor point
39325
- */
39326
- export function createAnchorPointIndirect(anchorPointIndirectJson: any): AnchorPointIndirect;
39327
-
39328
- /**
39329
- * Creates a `CorrelationGroup` from the given JSON representation
39330
- * @param correlationGroupJson - The input JSON
39331
- * @returns The correlation group
39332
- */
39333
- export function createCorrelationGroup(correlationGroupJson: any): CorrelationGroup;
39334
-
39335
39419
  export namespace GltfGpmLocal {
39336
39420
  /**
39337
39421
  * Initialization options for the GltfGpmLocal constructor
@@ -39524,6 +39608,11 @@ export enum LightingModel {
39524
39608
  * {@link https://github.com/KhronosGroup/glTF/pull/2514|EXT_mesh_primitive_restart}
39525
39609
  * </li>
39526
39610
  * <li>
39611
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
39612
+ * (edges are hidden by default; set {@link EdgeDisplayMode} via
39613
+ * {@link Model#edgeDisplayMode} or {@link Cesium3DTileset#edgeDisplayMode} to display them)
39614
+ * </li>
39615
+ * <li>
39527
39616
  * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_meshopt_compression|EXT_meshopt_compression}
39528
39617
  * </li>
39529
39618
  * <li>
@@ -39551,6 +39640,9 @@ export enum LightingModel {
39551
39640
  * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_mesh_quantization|KHR_mesh_quantization}
39552
39641
  * </li>
39553
39642
  * <li>
39643
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_meshopt_compression|KHR_meshopt_compression}
39644
+ * </li>
39645
+ * <li>
39554
39646
  * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_basisu|KHR_texture_basisu}
39555
39647
  * </li>
39556
39648
  * <li>
@@ -39696,6 +39788,13 @@ export class Model {
39696
39788
  * </p>
39697
39789
  */
39698
39790
  debugWireframe: boolean;
39791
+ /**
39792
+ * Controls how edges from the
39793
+ * {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility}
39794
+ * glTF extension are rendered relative to surface geometry. Primitives that
39795
+ * do not declare the extension are unaffected by this setting.
39796
+ */
39797
+ edgeDisplayMode: EdgeDisplayMode;
39699
39798
  /**
39700
39799
  * Whether or not to render the model.
39701
39800
  */
@@ -39995,6 +40094,7 @@ export class Model {
39995
40094
  * @param [options.color] - A color that blends with the model's rendered color.
39996
40095
  * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
39997
40096
  * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
40097
+ * @param [options.edgeDisplayMode = EdgeDisplayMode.SURFACES_ONLY] - Controls how edges from the {@link https://github.com/KhronosGroup/glTF/pull/2479|EXT_mesh_primitive_edge_visibility} extension are rendered relative to surface geometry.
39998
40098
  * @param [options.silhouetteColor = Color.RED] - The silhouette color. If more than 256 models have silhouettes enabled, there is a small chance that overlapping models will have minor artifacts.
39999
40099
  * @param [options.silhouetteSize = 0.0] - The size of the silhouette in pixels.
40000
40100
  * @param [options.enableShowOutline = true] - Whether to enable outlines for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. This can be set false to avoid post-processing geometry at load time. When false, the showOutlines and outlineColor options are ignored.
@@ -40049,6 +40149,7 @@ export class Model {
40049
40149
  color?: Color;
40050
40150
  colorBlendMode?: ColorBlendMode;
40051
40151
  colorBlendAmount?: number;
40152
+ edgeDisplayMode?: EdgeDisplayMode;
40052
40153
  silhouetteColor?: Color;
40053
40154
  silhouetteSize?: number;
40054
40155
  enableShowOutline?: boolean;
@@ -41337,34 +41438,6 @@ export class PerInstanceColorAppearance {
41337
41438
  getRenderState(): any;
41338
41439
  }
41339
41440
 
41340
- /**
41341
- * Compute the rectangle that describes the part of the drawing buffer
41342
- * that is relevant for picking.
41343
- * @param drawingBufferHeight - The height of the drawing buffer
41344
- * @param position - The position inside the drawing buffer
41345
- * @param width - The width of the rectangle, assumed to
41346
- * be an odd integer number, default : 3.0
41347
- * @param height - The height of the rectangle. If unspecified,
41348
- * height will default to the value of <code>width</code>
41349
- * @param result - The result rectangle
41350
- * @returns The result rectangle
41351
- */
41352
- export function computePickingDrawingBufferRectangle(drawingBufferHeight: number, position: Cartesian2, width: number | undefined, height: number | undefined, result: BoundingRectangle): BoundingRectangle;
41353
-
41354
- /**
41355
- * Setup needed before picking.
41356
- * @param windowPosition - Window coordinates to perform picking on.
41357
- * @param drawingBufferRectangle - The output drawing buffer recangle.
41358
- * @param [width = 3] - Width of the pick rectangle.
41359
- * @param [height = 3] - Height of the pick rectangle.
41360
- */
41361
- export function pickBegin(scene: Scene, windowPosition: Cartesian2, drawingBufferRectangle: BoundingRectangle, width?: number, height?: number): void;
41362
-
41363
- /**
41364
- * Teardown needed after picking.
41365
- */
41366
- export function pickEnd(scene: Scene): void;
41367
-
41368
41441
  /**
41369
41442
  * Information about metadata that is supposed to be picked
41370
41443
  * @property schemaId - The optional ID of the metadata schema
@@ -41379,44 +41452,6 @@ export type PickedMetadataInfo = {
41379
41452
  classProperty: MetadataClassProperty;
41380
41453
  };
41381
41454
 
41382
- /**
41383
- * @param pickedResults - the results from the pickCallback
41384
- * @param limit - If supplied, stop drilling after collecting this many picks.
41385
- * @returns whether picking should end
41386
- */
41387
- export function addDrillPickedResults(pickedResults: object[], limit: number, results: object[], pickedPrimitives: object[], pickedAttributes: object[], pickedFeatures: object[]): boolean;
41388
-
41389
- /**
41390
- * Drill pick by repeatedly calling a given `pickCallback`, each time stripping away the previously picked objects.
41391
- * @param pickCallback - Pick callback to execute each iteration
41392
- * @param [limit = Number.MAX_VALUE] - If supplied, stop drilling after collecting this many picks
41393
- * @returns List of picked results
41394
- */
41395
- export function drillPick(pickCallback: (...params: any[]) => any, limit?: number): object[];
41396
-
41397
- /**
41398
- * Remove all invalid binary body references from the batch table
41399
- * JSON of the given parsed content.
41400
- *
41401
- * This is a workaround for gracefully handling the invalid PNTS
41402
- * files that may have been created by the point cloud tiler.
41403
- * See https://github.com/CesiumGS/cesium/issues/12872
41404
- *
41405
- * When the batch table JSON is undefined, nothing will be done.
41406
- * When the batch table binary is defined, nothing will be done
41407
- * (assuming that any binary body references are valid - this is
41408
- * not checked here).
41409
- *
41410
- * Otherwise, this will remove all binary body references from the
41411
- * batch table JSON that are not resolved from draco via the
41412
- * `parsedContent.draco.batchTableProperties`.
41413
- *
41414
- * If any (invalid) binary body reference is found (and removed),
41415
- * a one-time warning will be printed.
41416
- * @param parsedContent - The parsed content
41417
- */
41418
- export function removeInvalidBinaryBodyReferences(parsedContent: any): void;
41419
-
41420
41455
  /**
41421
41456
  * Options for performing point attenuation based on geometric error when rendering
41422
41457
  * point clouds using 3D Tiles.
@@ -44009,18 +44044,6 @@ export class Scene {
44009
44044
  destroy(): void;
44010
44045
  }
44011
44046
 
44012
- /**
44013
- * Determine how translucent surfaces will be handled.
44014
- *
44015
- * When OIT is enabled, then this will delegate to OIT.executeCommands.
44016
- * Otherwise, it will just be executeTranslucentCommandsBackToFront
44017
- * for render passes, or executeTranslucentCommandsFrontToBack for
44018
- * other passes.
44019
- * @param scene - The scene.
44020
- * @returns A function to execute translucent commands.
44021
- */
44022
- export function obtainTranslucentCommandExecutionFunction(scene: Scene): (...params: any[]) => any;
44023
-
44024
44047
  /**
44025
44048
  * Indicates if the scene is viewed in 3D, 2D, or 2.5D Columbus view.
44026
44049
  */
@@ -46107,7 +46130,8 @@ export class VoxelPrimitive {
46107
46130
  */
46108
46131
  clippingPlanes: ClippingPlaneCollection;
46109
46132
  /**
46110
- * Gets or sets the custom shader. If undefined, {@link VoxelPrimitive.DefaultCustomShader} is set.
46133
+ * Gets or sets the custom shader. If undefined, attempt to build a default custom shader
46134
+ * appropriate to the metadata type. If that fails, use {@link VoxelPrimitive.DefaultCustomShader}.
46111
46135
  */
46112
46136
  customShader: CustomShader;
46113
46137
  /**
@@ -46140,7 +46164,21 @@ export class VoxelPrimitive {
46140
46164
  * This type describes an interface and is not intended to be instantiated directly.
46141
46165
  */
46142
46166
  export class VoxelProvider {
46143
- constructor();
46167
+ /**
46168
+ * Requests the data for a given tile.
46169
+ * @param [options] - Object with the following properties:
46170
+ * @param [options.tileLevel = 0] - The tile's level.
46171
+ * @param [options.tileX = 0] - The tile's X coordinate.
46172
+ * @param [options.tileY = 0] - The tile's Y coordinate.
46173
+ * @param [options.tileZ = 0] - The tile's Z coordinate.
46174
+ * @returns A promise resolving to a VoxelContent containing the data for the tile, or undefined if the request could not be scheduled this frame.
46175
+ */
46176
+ requestData(options?: {
46177
+ tileLevel?: number;
46178
+ tileX?: number;
46179
+ tileY?: number;
46180
+ tileZ?: number;
46181
+ }): Promise<VoxelContent> | undefined;
46144
46182
  /**
46145
46183
  * A transform from local space to global space.
46146
46184
  */
@@ -46205,21 +46243,6 @@ export class VoxelProvider {
46205
46243
  * The number of levels of detail containing available tiles in the tileset.
46206
46244
  */
46207
46245
  readonly availableLevels: number | undefined;
46208
- /**
46209
- * Requests the data for a given tile.
46210
- * @param [options] - Object with the following properties:
46211
- * @param [options.tileLevel = 0] - The tile's level.
46212
- * @param [options.tileX = 0] - The tile's X coordinate.
46213
- * @param [options.tileY = 0] - The tile's Y coordinate.
46214
- * @param [options.tileZ = 0] - The tile's Z coordinate.
46215
- * @returns A promise resolving to a VoxelContent containing the data for the tile, or undefined if the request could not be scheduled this frame.
46216
- */
46217
- requestData(options?: {
46218
- tileLevel?: number;
46219
- tileX?: number;
46220
- tileY?: number;
46221
- tileZ?: number;
46222
- }): Promise<VoxelContent> | undefined;
46223
46246
  }
46224
46247
 
46225
46248
  /**