@cesium/engine 0.1.0 → 1.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 (217) hide show
  1. package/Build/Workers/{AttributeCompression-4589338a.js → AttributeCompression-b646d393.js} +1 -1
  2. package/Build/Workers/{AxisAlignedBoundingBox-bfb1234f.js → AxisAlignedBoundingBox-a4321399.js} +1 -1
  3. package/Build/Workers/{BoundingRectangle-7ffc2153.js → BoundingRectangle-80d8801f.js} +1 -1
  4. package/Build/Workers/{BoxGeometry-93f344a3.js → BoxGeometry-33c10a4f.js} +1 -1
  5. package/Build/Workers/{Color-0c5aaf47.js → Color-1bf9a6e0.js} +1 -1
  6. package/Build/Workers/{CoplanarPolygonGeometryLibrary-6597982a.js → CoplanarPolygonGeometryLibrary-5c5b981b.js} +1 -1
  7. package/Build/Workers/{CorridorGeometryLibrary-2119580e.js → CorridorGeometryLibrary-7cbae7a0.js} +1 -1
  8. package/Build/Workers/{CylinderGeometry-f9503c6d.js → CylinderGeometry-42740df0.js} +1 -1
  9. package/Build/Workers/{EllipseGeometry-fedf72d5.js → EllipseGeometry-49a3ac21.js} +1 -1
  10. package/Build/Workers/{EllipseGeometryLibrary-4ea68687.js → EllipseGeometryLibrary-b891b2f8.js} +1 -1
  11. package/Build/Workers/{EllipseOutlineGeometry-e2ae6a35.js → EllipseOutlineGeometry-fbd72e07.js} +1 -1
  12. package/Build/Workers/{EllipsoidGeodesic-16de63ea.js → EllipsoidGeodesic-98c62a56.js} +1 -1
  13. package/Build/Workers/{EllipsoidGeometry-95c0330e.js → EllipsoidGeometry-a351dba8.js} +1 -1
  14. package/Build/Workers/{EllipsoidOutlineGeometry-d6d2ceec.js → EllipsoidOutlineGeometry-3e8779bf.js} +1 -1
  15. package/Build/Workers/{EllipsoidRhumbLine-ae5e65e0.js → EllipsoidRhumbLine-19756602.js} +1 -1
  16. package/Build/Workers/{EllipsoidTangentPlane-bfc674bf.js → EllipsoidTangentPlane-cfb50678.js} +1 -1
  17. package/Build/Workers/{EncodedCartesian3-f473ea18.js → EncodedCartesian3-81f70735.js} +1 -1
  18. package/Build/Workers/{FrustumGeometry-3bf2e4eb.js → FrustumGeometry-c5754412.js} +1 -1
  19. package/Build/Workers/{GeometryAttribute-df5f473e.js → GeometryAttribute-0bfd05e8.js} +1 -1
  20. package/Build/Workers/{GeometryInstance-aa75b4cf.js → GeometryInstance-451dc1cd.js} +1 -1
  21. package/Build/Workers/{GeometryPipeline-f0e46c42.js → GeometryPipeline-0166905d.js} +1 -1
  22. package/Build/Workers/{IntersectionTests-9de29d51.js → IntersectionTests-a93d3de9.js} +1 -1
  23. package/Build/Workers/{Matrix2-ce637455.js → Matrix2-13178034.js} +4 -2
  24. package/Build/Workers/{Matrix3-4f4df527.js → Matrix3-315394f6.js} +2 -1
  25. package/Build/Workers/{OrientedBoundingBox-d3ff3d4d.js → OrientedBoundingBox-b450cb61.js} +5 -5
  26. package/Build/Workers/{Plane-b81241c2.js → Plane-900aa728.js} +1 -1
  27. package/Build/Workers/{PolygonGeometryLibrary-6f4937bb.js → PolygonGeometryLibrary-f918ac26.js} +1 -1
  28. package/Build/Workers/PolygonPipeline-f59a8f0a.js +1345 -0
  29. package/Build/Workers/{PolylinePipeline-2e2b015c.js → PolylinePipeline-d8e6bd9b.js} +1 -1
  30. package/Build/Workers/{PolylineVolumeGeometryLibrary-7ee1d449.js → PolylineVolumeGeometryLibrary-125d2edf.js} +1 -1
  31. package/Build/Workers/{PrimitivePipeline-a9b7aae0.js → PrimitivePipeline-0d7b5ed4.js} +1 -1
  32. package/Build/Workers/{RectangleGeometryLibrary-9aa6c8f6.js → RectangleGeometryLibrary-0768db63.js} +1 -1
  33. package/Build/Workers/{TerrainEncoding-b52dcfc5.js → TerrainEncoding-06470d7f.js} +1 -1
  34. package/Build/Workers/{Transforms-2f755df8.js → Transforms-26539bce.js} +97 -83
  35. package/Build/Workers/{WallGeometryLibrary-ab19a93d.js → WallGeometryLibrary-6167b0fc.js} +1 -1
  36. package/Build/Workers/{WebMercatorProjection-9f25de49.js → WebMercatorProjection-13a90d41.js} +1 -1
  37. package/Build/Workers/cesiumWorkerBootstrapper.js +25 -1
  38. package/Build/Workers/combineGeometry.js +1 -1
  39. package/Build/Workers/createBoxGeometry.js +1 -1
  40. package/Build/Workers/createBoxOutlineGeometry.js +1 -1
  41. package/Build/Workers/createCircleGeometry.js +1 -1
  42. package/Build/Workers/createCircleOutlineGeometry.js +1 -1
  43. package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
  44. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  45. package/Build/Workers/createCorridorGeometry.js +1 -1
  46. package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
  47. package/Build/Workers/createCylinderGeometry.js +1 -1
  48. package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
  49. package/Build/Workers/createEllipseGeometry.js +1 -1
  50. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  51. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  52. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  53. package/Build/Workers/createFrustumGeometry.js +1 -1
  54. package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
  55. package/Build/Workers/createGeometry.js +1 -1
  56. package/Build/Workers/createGroundPolylineGeometry.js +1 -1
  57. package/Build/Workers/createPlaneGeometry.js +1 -1
  58. package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
  59. package/Build/Workers/createPolygonGeometry.js +1 -1
  60. package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
  61. package/Build/Workers/createPolylineGeometry.js +1 -1
  62. package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
  63. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  64. package/Build/Workers/createRectangleGeometry.js +1 -1
  65. package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
  66. package/Build/Workers/createSimplePolylineGeometry.js +1 -1
  67. package/Build/Workers/createSphereGeometry.js +1 -1
  68. package/Build/Workers/createSphereOutlineGeometry.js +1 -1
  69. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  70. package/Build/Workers/createVectorTileGeometries.js +1 -1
  71. package/Build/Workers/createVectorTilePoints.js +1 -1
  72. package/Build/Workers/createVectorTilePolygons.js +1 -1
  73. package/Build/Workers/createVectorTilePolylines.js +1 -1
  74. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  75. package/Build/Workers/createVerticesFromHeightmap.js +7 -3
  76. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  77. package/Build/Workers/createWallGeometry.js +1 -1
  78. package/Build/Workers/createWallOutlineGeometry.js +1 -1
  79. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +95 -76
  80. package/Build/Workers/decodeI3S.js +1 -1
  81. package/Build/Workers/package.js +25 -1
  82. package/Build/Workers/transferTypedArrayTest.js +25 -1
  83. package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  84. package/README.md +9 -9
  85. package/Source/Core/EarthOrientationParameters.js +67 -63
  86. package/Source/Core/Ion.js +1 -1
  87. package/Source/Core/Matrix2.js +2 -1
  88. package/Source/Core/Matrix3.js +2 -1
  89. package/Source/Core/Matrix4.js +1 -0
  90. package/Source/Core/OrientedBoundingBox.js +4 -4
  91. package/Source/Core/S2Cell.js +3 -3
  92. package/Source/Core/Transforms.js +3 -7
  93. package/Source/DataSources/GpxDataSource.js +4 -6
  94. package/Source/DataSources/KmlDataSource.js +3 -5
  95. package/Source/Renderer/Context.js +230 -177
  96. package/Source/Renderer/Pass.js +3 -2
  97. package/Source/Scene/Cesium3DTileContentType.js +19 -0
  98. package/Source/Scene/Cesium3DTilesVoxelProvider.js +482 -0
  99. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  100. package/Source/Scene/ContentMetadata.js +2 -2
  101. package/Source/Scene/DerivedCommand.js +7 -0
  102. package/Source/Scene/Expression.js +1 -1
  103. package/Source/Scene/Globe.js +10 -0
  104. package/Source/Scene/GlobeSurfaceTileProvider.js +7 -0
  105. package/Source/Scene/GltfImageLoader.js +1 -1
  106. package/Source/Scene/GltfVertexBufferLoader.js +10 -2
  107. package/Source/Scene/GroupMetadata.js +2 -2
  108. package/Source/Scene/I3SDataProvider.js +2 -1
  109. package/Source/Scene/I3SFeature.js +1 -1
  110. package/Source/Scene/I3SLayer.js +64 -2
  111. package/Source/Scene/I3SNode.js +50 -6
  112. package/Source/Scene/ImplicitMetadataView.js +2 -2
  113. package/Source/Scene/ImplicitSubtreeCache.js +127 -0
  114. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  115. package/Source/Scene/ImplicitTileset.js +3 -2
  116. package/Source/Scene/KeyframeNode.js +47 -0
  117. package/Source/Scene/Megatexture.js +490 -0
  118. package/Source/Scene/MetadataClass.js +60 -25
  119. package/Source/Scene/MetadataClassProperty.js +132 -68
  120. package/Source/Scene/MetadataComponentType.js +78 -57
  121. package/Source/Scene/MetadataEnum.js +59 -23
  122. package/Source/Scene/MetadataEnumValue.js +49 -15
  123. package/Source/Scene/MetadataSchema.js +53 -24
  124. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  125. package/Source/Scene/MetadataTableProperty.js +2 -2
  126. package/Source/Scene/MetadataType.js +6 -14
  127. package/Source/Scene/Model/GeoJsonLoader.js +1 -1
  128. package/Source/Scene/Model/Model.js +38 -6
  129. package/Source/Scene/Model/buildDrawCommand.js +19 -11
  130. package/Source/Scene/PointCloud.js +1 -1
  131. package/Source/Scene/PropertyAttribute.js +2 -2
  132. package/Source/Scene/PropertyAttributeProperty.js +2 -2
  133. package/Source/Scene/PropertyTable.js +2 -2
  134. package/Source/Scene/PropertyTexture.js +2 -2
  135. package/Source/Scene/PropertyTextureProperty.js +2 -2
  136. package/Source/Scene/ResourceCache.js +9 -1
  137. package/Source/Scene/ResourceCacheKey.js +9 -1
  138. package/Source/Scene/Scene.js +20 -50
  139. package/Source/Scene/SpatialNode.js +375 -0
  140. package/Source/Scene/StructuralMetadata.js +2 -2
  141. package/Source/Scene/TileMetadata.js +2 -2
  142. package/Source/Scene/TilesetMetadata.js +2 -2
  143. package/Source/Scene/VoxelBoxShape.js +527 -0
  144. package/Source/Scene/VoxelContent.js +169 -0
  145. package/Source/Scene/VoxelCylinderShape.js +937 -0
  146. package/Source/Scene/VoxelEllipsoidShape.js +937 -0
  147. package/Source/Scene/VoxelPrimitive.js +1919 -0
  148. package/Source/Scene/VoxelProvider.js +255 -0
  149. package/Source/Scene/VoxelRenderResources.js +224 -0
  150. package/Source/Scene/VoxelShape.js +152 -0
  151. package/Source/Scene/VoxelShapeType.js +105 -0
  152. package/Source/Scene/VoxelTraversal.js +1144 -0
  153. package/Source/Scene/buildVoxelDrawCommands.js +116 -0
  154. package/Source/Scene/parseBatchTable.js +18 -2
  155. package/Source/Scene/preprocess3DTileContent.js +8 -0
  156. package/Source/Scene/processVoxelProperties.js +455 -0
  157. package/Source/Shaders/BillboardCollectionVS.glsl +1 -1
  158. package/Source/Shaders/BillboardCollectionVS.js +1 -1
  159. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  160. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  161. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
  162. package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
  163. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  164. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +55 -43
  165. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +55 -43
  166. package/Source/Shaders/GlobeFS.glsl +2 -1
  167. package/Source/Shaders/GlobeFS.js +2 -1
  168. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +5 -2
  169. package/Source/Shaders/PointPrimitiveCollectionVS.js +5 -2
  170. package/Source/Shaders/Voxels/IntersectBox.glsl +79 -0
  171. package/Source/Shaders/Voxels/IntersectBox.js +81 -0
  172. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +70 -0
  173. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +72 -0
  174. package/Source/Shaders/Voxels/IntersectCylinder.glsl +273 -0
  175. package/Source/Shaders/Voxels/IntersectCylinder.js +275 -0
  176. package/Source/Shaders/Voxels/IntersectDepth.glsl +23 -0
  177. package/Source/Shaders/Voxels/IntersectDepth.js +25 -0
  178. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +337 -0
  179. package/Source/Shaders/Voxels/IntersectEllipsoid.js +339 -0
  180. package/Source/Shaders/Voxels/Intersection.glsl +54 -0
  181. package/Source/Shaders/Voxels/Intersection.js +56 -0
  182. package/Source/Shaders/Voxels/IntersectionUtils.glsl +151 -0
  183. package/Source/Shaders/Voxels/IntersectionUtils.js +153 -0
  184. package/Source/Shaders/Voxels/Megatexture.glsl +136 -0
  185. package/Source/Shaders/Voxels/Megatexture.js +138 -0
  186. package/Source/Shaders/Voxels/Octree.glsl +221 -0
  187. package/Source/Shaders/Voxels/Octree.js +223 -0
  188. package/Source/Shaders/Voxels/VoxelFS.glsl +150 -0
  189. package/Source/Shaders/Voxels/VoxelFS.js +152 -0
  190. package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
  191. package/Source/Shaders/Voxels/VoxelVS.js +13 -0
  192. package/Source/Shaders/Voxels/convertUvToBox.glsl +16 -0
  193. package/Source/Shaders/Voxels/convertUvToBox.js +18 -0
  194. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +79 -0
  195. package/Source/Shaders/Voxels/convertUvToCylinder.js +81 -0
  196. package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +133 -0
  197. package/Source/Shaders/Voxels/convertUvToEllipsoid.js +135 -0
  198. package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +100 -101
  199. package/Source/ThirdParty/Workers/pako_deflate.min.js +2 -2
  200. package/Source/ThirdParty/Workers/pako_inflate.min.js +2 -2
  201. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  202. package/Source/Widget/CesiumWidget.js +1 -1
  203. package/index.d.ts +961 -56
  204. package/index.js +92 -60
  205. package/package.json +6 -4
  206. package/Build/ThirdParty/Workers/basis_transcoder.js +0 -2233
  207. package/Build/ThirdParty/Workers/draco_decoder_nodejs.js +0 -1872
  208. package/Build/ThirdParty/Workers/package.json +0 -1
  209. package/Build/ThirdParty/Workers/pako_deflate.min.js +0 -589
  210. package/Build/ThirdParty/Workers/pako_inflate.min.js +0 -798
  211. package/Build/ThirdParty/Workers/z-worker-pako.js +0 -503
  212. package/Build/ThirdParty/basis_transcoder.wasm +0 -0
  213. package/Build/ThirdParty/draco_decoder.wasm +0 -0
  214. package/Build/ThirdParty/google-earth-dbroot-parser.js +0 -8019
  215. package/Build/Widget/CesiumWidget.css +0 -120
  216. package/Build/Widget/lighter.css +0 -13
  217. package/Build/Workers/PolygonPipeline-774a8aaf.js +0 -1341
package/index.d.ts CHANGED
@@ -9671,9 +9671,10 @@ export class Matrix2 implements ArrayLike<number> {
9671
9671
  * Sets the rotation assuming the matrix is an affine transformation.
9672
9672
  * @param matrix - The matrix.
9673
9673
  * @param rotation - The rotation matrix.
9674
+ * @param result - The object onto which to store the result.
9674
9675
  * @returns The modified result parameter.
9675
9676
  */
9676
- static setRotation(matrix: Matrix2, rotation: Matrix2): Matrix2;
9677
+ static setRotation(matrix: Matrix2, rotation: Matrix2, result: Matrix2): Matrix2;
9677
9678
  /**
9678
9679
  * Extracts the rotation matrix assuming the matrix is an affine transformation.
9679
9680
  * @param matrix - The matrix.
@@ -9731,7 +9732,7 @@ export class Matrix2 implements ArrayLike<number> {
9731
9732
  * @param result - The object onto which to store the result.
9732
9733
  * @returns The modified result parameter.
9733
9734
  */
9734
- static multiplyByScale(matrix: Matrix2, scale: number, result: Matrix2): Matrix2;
9735
+ static multiplyByScale(matrix: Matrix2, scale: Cartesian2, result: Matrix2): Matrix2;
9735
9736
  /**
9736
9737
  * Computes the product of a matrix times a uniform scale, as if the scale were a scale matrix.
9737
9738
  * @example
@@ -10126,9 +10127,10 @@ export class Matrix3 implements ArrayLike<number> {
10126
10127
  * Sets the rotation assuming the matrix is an affine transformation.
10127
10128
  * @param matrix - The matrix.
10128
10129
  * @param rotation - The rotation matrix.
10130
+ * @param result - The object onto which to store the result.
10129
10131
  * @returns The modified result parameter.
10130
10132
  */
10131
- static setRotation(matrix: Matrix3, rotation: Matrix3): Matrix3;
10133
+ static setRotation(matrix: Matrix3, rotation: Matrix3, result: Matrix3): Matrix3;
10132
10134
  /**
10133
10135
  * Extracts the rotation matrix assuming the matrix is an affine transformation.
10134
10136
  * @param matrix - The matrix.
@@ -10186,7 +10188,7 @@ export class Matrix3 implements ArrayLike<number> {
10186
10188
  * @param result - The object onto which to store the result.
10187
10189
  * @returns The modified result parameter.
10188
10190
  */
10189
- static multiplyByScale(matrix: Matrix3, scale: number, result: Matrix3): Matrix3;
10191
+ static multiplyByScale(matrix: Matrix3, scale: Cartesian3, result: Matrix3): Matrix3;
10190
10192
  /**
10191
10193
  * Computes the product of a matrix times a uniform scale, as if the scale were a scale matrix.
10192
10194
  * @example
@@ -10789,9 +10791,10 @@ export class Matrix4 implements ArrayLike<number> {
10789
10791
  * Sets the rotation assuming the matrix is an affine transformation.
10790
10792
  * @param matrix - The matrix.
10791
10793
  * @param rotation - The rotation matrix.
10794
+ * @param result - The object onto which to store the result.
10792
10795
  * @returns The modified result parameter.
10793
10796
  */
10794
- static setRotation(matrix: Matrix4, rotation: Matrix3): Matrix4;
10797
+ static setRotation(matrix: Matrix4, rotation: Matrix3, result: Matrix4): Matrix4;
10795
10798
  /**
10796
10799
  * Extracts the rotation matrix assuming the matrix is an affine transformation.
10797
10800
  * @param matrix - The matrix.
@@ -11497,7 +11500,7 @@ export class OpenCageGeocoderService {
11497
11500
 
11498
11501
  /**
11499
11502
  * Creates an instance of an OrientedBoundingBox.
11500
- * An OrientedBoundingBox of some object is a closed and convex cuboid. It can provide a tighter bounding volume than {@link BoundingSphere} or {@link AxisAlignedBoundingBox} in many cases.
11503
+ * An OrientedBoundingBox of some object is a closed and convex rectangular cuboid. It can provide a tighter bounding volume than {@link BoundingSphere} or {@link AxisAlignedBoundingBox} in many cases.
11501
11504
  * @example
11502
11505
  * // Create an OrientedBoundingBox using a transformation matrix, a position where the box will be translated, and a scale.
11503
11506
  * const center = new Cesium.Cartesian3(1.0, 0.0, 0.0);
@@ -11506,7 +11509,7 @@ export class OpenCageGeocoderService {
11506
11509
  * const obb = new Cesium.OrientedBoundingBox(center, halfAxes);
11507
11510
  * @param [center = Cartesian3.ZERO] - The center of the box.
11508
11511
  * @param [halfAxes = Matrix3.ZERO] - The three orthogonal half-axes of the bounding box.
11509
- * Equivalently, the transformation matrix, to rotate and scale a 0x0x0
11512
+ * Equivalently, the transformation matrix, to rotate and scale a 1x1x1
11510
11513
  * cube centered at the origin.
11511
11514
  */
11512
11515
  export class OrientedBoundingBox {
@@ -17041,9 +17044,8 @@ export namespace Transforms {
17041
17044
  * indicates that the preload has completed.
17042
17045
  * @example
17043
17046
  * const interval = new Cesium.TimeInterval(...);
17044
- * Promise.resolve(Cesium.Transforms.preloadIcrfFixed(interval)).then(function() {
17045
- * // the data is now loaded
17046
- * });
17047
+ * await Cesium.Transforms.preloadIcrfFixed(interval));
17048
+ * // the data is now loaded
17047
17049
  * @param timeInterval - The interval to preload.
17048
17050
  * @returns A promise that, when resolved, indicates that the preload has completed
17049
17051
  * and evaluation of the transformation between the fixed and ICRF axes will
@@ -24973,6 +24975,49 @@ export function exportKml(options: {
24973
24975
  */
24974
24976
  export type exportKmlModelCallback = (model: ModelGraphics, time: JulianDate, externalFiles: any) => string;
24975
24977
 
24978
+ /**
24979
+ * Options to control the setting up of a WebGL Context.
24980
+ * <p>
24981
+ * <code>allowTextureFilterAnisotropic</code> defaults to true, which enables
24982
+ * anisotropic texture filtering when the WebGL extension is supported.
24983
+ * Setting this to false will improve performance, but hurt visual quality,
24984
+ * especially for horizon views.
24985
+ * </p>
24986
+ * @property [requestWebgl1 = true] - If true and the browser supports it, use a WebGL 1 rendering context
24987
+ * @property [allowTextureFilterAnisotropic = true] - If true, use anisotropic filtering during texture sampling
24988
+ * @property [webgl] - WebGL options to be passed on to canvas.getContext
24989
+ * @property [getWebGLStub] - A function to create a WebGL stub for testing
24990
+ */
24991
+ export type ContextOptions = {
24992
+ requestWebgl1?: boolean;
24993
+ allowTextureFilterAnisotropic?: boolean;
24994
+ webgl?: WebGLOptions;
24995
+ getWebGLStub?: (...params: any[]) => any;
24996
+ };
24997
+
24998
+ /**
24999
+ * WebGL options to be passed on to HTMLCanvasElement.getContext().
25000
+ * See {@link https://registry.khronos.org/webgl/specs/latest/1.0/#5.2|WebGLContextAttributes}
25001
+ * but note the modified defaults for 'alpha', 'stencil', and 'powerPreference'
25002
+ *
25003
+ * <p>
25004
+ * <code>alpha</code> defaults to false, which can improve performance
25005
+ * compared to the standard WebGL default of true. If an application needs
25006
+ * to composite Cesium above other HTML elements using alpha-blending, set
25007
+ * <code>alpha</code> to true.
25008
+ * </p>
25009
+ */
25010
+ export type WebGLOptions = {
25011
+ alpha?: boolean;
25012
+ depth?: boolean;
25013
+ stencil?: boolean;
25014
+ antialias?: boolean;
25015
+ premultipliedAlpha?: boolean;
25016
+ preserveDrawingBuffer?: boolean;
25017
+ powerPreference?: "default" | "low-power" | "high-performance";
25018
+ failIfMajorPerformanceCaveat?: boolean;
25019
+ };
25020
+
24976
25021
  /**
24977
25022
  * The data type of a pixel.
24978
25023
  */
@@ -28358,6 +28403,112 @@ export class Cesium3DTileStyle {
28358
28403
  meta: StyleExpression;
28359
28404
  }
28360
28405
 
28406
+ /**
28407
+ * A {@link VoxelProvider} that fetches voxel data from a 3D Tiles tileset.
28408
+ * <p>
28409
+ * Implements the {@link VoxelProvider} interface.
28410
+ * </p>
28411
+ * @param options - Object with the following properties:
28412
+ * @param options.url - The URL to a tileset JSON file.
28413
+ */
28414
+ export class Cesium3DTilesVoxelProvider extends VoxelProvider {
28415
+ constructor(options: {
28416
+ url: Resource | string | Promise<Resource> | Promise<string>;
28417
+ });
28418
+ /**
28419
+ * Gets a value indicating whether or not the provider is ready for use.
28420
+ */
28421
+ readonly ready: boolean;
28422
+ /**
28423
+ * A transform from local space to global space. If undefined, the identity matrix will be used instead.
28424
+ */
28425
+ readonly globalTransform: Matrix4 | undefined;
28426
+ /**
28427
+ * A transform from shape space to local space. If undefined, the identity matrix will be used instead.
28428
+ */
28429
+ readonly shapeTransform: Matrix4 | undefined;
28430
+ /**
28431
+ * Gets the {@link VoxelShapeType}
28432
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28433
+ */
28434
+ readonly shape: VoxelShapeType;
28435
+ /**
28436
+ * Gets the minimum bounds.
28437
+ * If undefined, the shape's default minimum bounds will be used instead.
28438
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28439
+ */
28440
+ readonly minBounds: Cartesian3 | undefined;
28441
+ /**
28442
+ * Gets the maximum bounds.
28443
+ * If undefined, the shape's default maximum bounds will be used instead.
28444
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28445
+ */
28446
+ readonly maxBounds: Cartesian3 | undefined;
28447
+ /**
28448
+ * Gets the number of voxels per dimension of a tile. This is the same for all tiles in the dataset.
28449
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28450
+ */
28451
+ readonly dimensions: Cartesian3;
28452
+ /**
28453
+ * Gets the number of padding voxels before the tile. This improves rendering quality when sampling the edge of a tile, but it increases memory usage.
28454
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28455
+ */
28456
+ readonly paddingBefore: Cartesian3 | undefined;
28457
+ /**
28458
+ * Gets the number of padding voxels after the tile. This improves rendering quality when sampling the edge of a tile, but it increases memory usage.
28459
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28460
+ */
28461
+ readonly paddingAfter: Cartesian3 | undefined;
28462
+ /**
28463
+ * Gets the metadata names.
28464
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28465
+ */
28466
+ readonly names: string[];
28467
+ /**
28468
+ * Gets the metadata types.
28469
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28470
+ */
28471
+ readonly types: MetadataType[];
28472
+ /**
28473
+ * Gets the metadata component types.
28474
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28475
+ */
28476
+ readonly componentTypes: MetadataComponentType[];
28477
+ /**
28478
+ * Gets the metadata minimum values.
28479
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28480
+ */
28481
+ readonly minimumValues: number[][] | undefined;
28482
+ /**
28483
+ * Gets the metadata maximum values.
28484
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28485
+ */
28486
+ readonly maximumValues: number[][] | undefined;
28487
+ /**
28488
+ * The maximum number of tiles that exist for this provider. This value is used as a hint to the voxel renderer to allocate an appropriate amount of GPU memory. If this value is not known it can be undefined.
28489
+ * This should not be called before {@link VoxelProvider#ready} returns true.
28490
+ */
28491
+ readonly maximumTileCount: number | undefined;
28492
+ /**
28493
+ * Requests the data for a given tile. The data is a flattened 3D array ordered by X, then Y, then Z.
28494
+ * This function should not be called before {@link VoxelProvider#ready} returns true.
28495
+ * @param [options] - Object with the following properties:
28496
+ * @param [options.tileLevel = 0] - The tile's level.
28497
+ * @param [options.tileX = 0] - The tile's X coordinate.
28498
+ * @param [options.tileY = 0] - The tile's Y coordinate.
28499
+ * @param [options.tileZ = 0] - The tile's Z coordinate.
28500
+ * @returns A promise to an array of typed arrays containing the requested voxel data or undefined if there was a problem loading the data.
28501
+ */
28502
+ requestData(options?: {
28503
+ tileLevel?: number;
28504
+ tileX?: number;
28505
+ tileY?: number;
28506
+ tileZ?: number;
28507
+ }): Promise<any[][]> | undefined;
28508
+ }
28509
+
28510
+ export var readyPromise: any;
28511
+
28361
28512
  /**
28362
28513
  * A {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification|3D Tiles tileset},
28363
28514
  * used for streaming massive heterogeneous 3D geospatial datasets.
@@ -30985,6 +31136,11 @@ export class Globe {
30985
31136
  * Whether to cull back-facing terrain. Back faces are not culled when the camera is underground or translucency is enabled.
30986
31137
  */
30987
31138
  backFaceCulling: boolean;
31139
+ /**
31140
+ * Determines the darkness of the vertex shadow.
31141
+ * This only takes effect when <code>enableLighting</code> is <code>true</code>.
31142
+ */
31143
+ vertexShadowDarkness: number;
30988
31144
  /**
30989
31145
  * Gets an ellipsoid describing the shape of this globe.
30990
31146
  */
@@ -32474,6 +32630,22 @@ export class I3SLayer {
32474
32630
  * Gets the I3S data for this object.
32475
32631
  */
32476
32632
  readonly data: any;
32633
+ /**
32634
+ * The version string of the loaded I3S dataset
32635
+ */
32636
+ readonly version: string;
32637
+ /**
32638
+ * The major version number of the loaded I3S dataset
32639
+ */
32640
+ readonly majorVersion: number;
32641
+ /**
32642
+ * The minor version number of the loaded I3S dataset
32643
+ */
32644
+ readonly minorVersion: number;
32645
+ /**
32646
+ * When <code>true</code>, when the loaded I3S version is 1.6 or older
32647
+ */
32648
+ readonly legacyVersion16: boolean;
32477
32649
  }
32478
32650
 
32479
32651
  /**
@@ -32525,6 +32697,18 @@ export class I3SNode {
32525
32697
  * @returns A promise that is resolved when the I3S Node fields are loaded
32526
32698
  */
32527
32699
  loadFields(): Promise<void>;
32700
+ /**
32701
+ * Returns the fields for a given picked position
32702
+ * @param pickedPosition - The picked position
32703
+ * @returns Object containing field names and their values
32704
+ */
32705
+ getFieldsForPickedPosition(pickedPosition: Cartesian3): any;
32706
+ /**
32707
+ * Returns the fields for a given feature
32708
+ * @param featureIndex - Index of the feature whose attributes we want to get
32709
+ * @returns Object containing field names and their values
32710
+ */
32711
+ getFieldsForFeature(featureIndex: number): any;
32528
32712
  }
32529
32713
 
32530
32714
  /**
@@ -34867,6 +35051,451 @@ export namespace MaterialAppearance {
34867
35051
  }
34868
35052
  }
34869
35053
 
35054
+ /**
35055
+ * A metadata class.
35056
+ *
35057
+ * <p>
35058
+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata|3D Metadata Specification} for 3D Tiles
35059
+ * </p>
35060
+ * @param options - Object with the following properties:
35061
+ * @param options.id - The ID of the class.
35062
+ * @param [options.name] - The name of the class.
35063
+ * @param [options.description] - The description of the class.
35064
+ * @param [options.properties] - The class properties, where each key is the property ID.
35065
+ * @param [options.extras] - Extra user-defined properties.
35066
+ * @param [options.extensions] - An object containing extensions.
35067
+ */
35068
+ export class MetadataClass {
35069
+ constructor(options: {
35070
+ id: string;
35071
+ name?: string;
35072
+ description?: string;
35073
+ properties?: {
35074
+ [key: string]: MetadataClassProperty;
35075
+ };
35076
+ extras?: any;
35077
+ extensions?: any;
35078
+ });
35079
+ /**
35080
+ * The class properties.
35081
+ */
35082
+ readonly properties: {
35083
+ [key: string]: MetadataClassProperty;
35084
+ };
35085
+ /**
35086
+ * The ID of the class.
35087
+ */
35088
+ readonly id: string;
35089
+ /**
35090
+ * The name of the class.
35091
+ */
35092
+ readonly name: string;
35093
+ /**
35094
+ * The description of the class.
35095
+ */
35096
+ readonly description: string;
35097
+ /**
35098
+ * Extra user-defined properties.
35099
+ */
35100
+ readonly extras: any;
35101
+ /**
35102
+ * An object containing extensions.
35103
+ */
35104
+ readonly extensions: any;
35105
+ }
35106
+
35107
+ /**
35108
+ * A metadata property, as part of a {@link MetadataClass}.
35109
+ * <p>
35110
+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata|3D Metadata Specification} for 3D Tiles
35111
+ * </p>
35112
+ * @param options - Object with the following properties:
35113
+ * @param options.id - The ID of the property.
35114
+ * @param options.type - The type of the property such as SCALAR, VEC2, VEC3.
35115
+ * @param [options.componentType] - The component type of the property. This includes integer (e.g. INT8 or UINT16), and floating point (FLOAT32 and FLOAT64) values.
35116
+ * @param [options.enumType] - The enum type of the property. Only defined when type is ENUM.
35117
+ * @param [options.isArray = false] - True if a property is an array (either fixed length or variable length), false otherwise.
35118
+ * @param [options.isVariableLengthArray = false] - True if a property is a variable length array, false otherwise.
35119
+ * @param [options.arrayLength] - The number of array elements. Only defined for fixed length arrays.
35120
+ * @param [options.normalized = false] - Whether the property is normalized.
35121
+ * @param [options.min] - A number or an array of numbers storing the minimum allowable value of this property. Only defined when type is a numeric type.
35122
+ * @param [options.max] - A number or an array of numbers storing the maximum allowable value of this property. Only defined when type is a numeric type.
35123
+ * @param [options.offset] - The offset to be added to property values as part of the value transform.
35124
+ * @param [options.scale] - The scale to be multiplied to property values as part of the value transform.
35125
+ * @param [options.noData] - The no-data sentinel value that represents null values.
35126
+ * @param [options.default] - A default value to use when an entity's property value is not defined.
35127
+ * @param [options.required = false] - Whether the property is required.
35128
+ * @param [options.name] - The name of the property.
35129
+ * @param [options.description] - The description of the property.
35130
+ * @param [options.semantic] - An identifier that describes how this property should be interpreted.
35131
+ * @param [options.extras] - Extra user-defined properties.
35132
+ * @param [options.extensions] - An object containing extensions.
35133
+ */
35134
+ export class MetadataClassProperty {
35135
+ constructor(options: {
35136
+ id: string;
35137
+ type: MetadataType;
35138
+ componentType?: MetadataComponentType;
35139
+ enumType?: MetadataEnum;
35140
+ isArray?: boolean;
35141
+ isVariableLengthArray?: boolean;
35142
+ arrayLength?: number;
35143
+ normalized?: boolean;
35144
+ min?: number | number[] | number[][];
35145
+ max?: number | number[] | number[][];
35146
+ offset?: number | number[] | number[][];
35147
+ scale?: number | number[] | number[][];
35148
+ noData?: boolean | number | string | any[];
35149
+ default?: boolean | number | string | any[];
35150
+ required?: boolean;
35151
+ name?: string;
35152
+ description?: string;
35153
+ semantic?: string;
35154
+ extras?: any;
35155
+ extensions?: any;
35156
+ });
35157
+ /**
35158
+ * The ID of the property.
35159
+ */
35160
+ readonly id: string;
35161
+ /**
35162
+ * The name of the property.
35163
+ */
35164
+ readonly name: string;
35165
+ /**
35166
+ * The description of the property.
35167
+ */
35168
+ readonly description: string;
35169
+ /**
35170
+ * The type of the property such as SCALAR, VEC2, VEC3
35171
+ */
35172
+ readonly type: MetadataType;
35173
+ /**
35174
+ * The enum type of the property. Only defined when type is ENUM.
35175
+ */
35176
+ readonly enumType: MetadataEnum;
35177
+ /**
35178
+ * The component type of the property. This includes integer
35179
+ * (e.g. INT8 or UINT16), and floating point (FLOAT32 and FLOAT64) values
35180
+ */
35181
+ readonly componentType: MetadataComponentType;
35182
+ /**
35183
+ * True if a property is an array (either fixed length or variable length),
35184
+ * false otherwise.
35185
+ */
35186
+ readonly isArray: boolean;
35187
+ /**
35188
+ * True if a property is a variable length array, false otherwise.
35189
+ */
35190
+ readonly isVariableLengthArray: boolean;
35191
+ /**
35192
+ * The number of array elements. Only defined for fixed-size
35193
+ * arrays.
35194
+ */
35195
+ readonly arrayLength: number;
35196
+ /**
35197
+ * Whether the property is normalized.
35198
+ */
35199
+ readonly normalized: boolean;
35200
+ /**
35201
+ * A number or an array of numbers storing the maximum allowable value of this property. Only defined when type is a numeric type.
35202
+ */
35203
+ readonly max: number | number[] | number[][];
35204
+ /**
35205
+ * A number or an array of numbers storing the minimum allowable value of this property. Only defined when type is a numeric type.
35206
+ */
35207
+ readonly min: number | number[] | number[][];
35208
+ /**
35209
+ * The no-data sentinel value that represents null values
35210
+ */
35211
+ readonly noData: boolean | number | string | any[];
35212
+ /**
35213
+ * A default value to use when an entity's property value is not defined.
35214
+ */
35215
+ readonly default: boolean | number | string | any[];
35216
+ /**
35217
+ * Whether the property is required.
35218
+ */
35219
+ readonly required: boolean;
35220
+ /**
35221
+ * An identifier that describes how this property should be interpreted.
35222
+ */
35223
+ readonly semantic: string;
35224
+ /**
35225
+ * The offset to be added to property values as part of the value transform.
35226
+ */
35227
+ readonly offset: number | number[] | number[][];
35228
+ /**
35229
+ * The scale to be multiplied to property values as part of the value transform.
35230
+ */
35231
+ readonly scale: number | number[] | number[][];
35232
+ /**
35233
+ * Extra user-defined properties.
35234
+ */
35235
+ readonly extras: any;
35236
+ /**
35237
+ * An object containing extensions.
35238
+ */
35239
+ readonly extensions: any;
35240
+ }
35241
+
35242
+ /**
35243
+ * An enum of metadata component types.
35244
+ */
35245
+ export enum MetadataComponentType {
35246
+ /**
35247
+ * An 8-bit signed integer
35248
+ */
35249
+ INT8 = "INT8",
35250
+ /**
35251
+ * An 8-bit unsigned integer
35252
+ */
35253
+ UINT8 = "UINT8",
35254
+ /**
35255
+ * A 16-bit signed integer
35256
+ */
35257
+ INT16 = "INT16",
35258
+ /**
35259
+ * A 16-bit unsigned integer
35260
+ */
35261
+ UINT16 = "UINT16",
35262
+ /**
35263
+ * A 32-bit signed integer
35264
+ */
35265
+ INT32 = "INT32",
35266
+ /**
35267
+ * A 32-bit unsigned integer
35268
+ */
35269
+ UINT32 = "UINT32",
35270
+ /**
35271
+ * A 64-bit signed integer. This type requires BigInt support.
35272
+ */
35273
+ INT64 = "INT64",
35274
+ /**
35275
+ * A 64-bit signed integer. This type requires BigInt support
35276
+ */
35277
+ UINT64 = "UINT64",
35278
+ /**
35279
+ * A 32-bit (single precision) floating point number
35280
+ */
35281
+ FLOAT32 = "FLOAT32",
35282
+ /**
35283
+ * A 64-bit (double precision) floating point number
35284
+ */
35285
+ FLOAT64 = "FLOAT64"
35286
+ }
35287
+
35288
+ /**
35289
+ * A metadata enum.
35290
+ * <p>
35291
+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata|3D Metadata Specification} for 3D Tiles
35292
+ * </p>
35293
+ * @param options - Object with the following properties:
35294
+ * @param options.id - The ID of the enum.
35295
+ * @param options.values - The enum values.
35296
+ * @param [options.valueType = MetadataComponentType.UINT16] - The enum value type.
35297
+ * @param [options.name] - The name of the enum.
35298
+ * @param [options.description] - The description of the enum.
35299
+ * @param [options.extras] - Extra user-defined properties.
35300
+ * @param [options.extensions] - An object containing extensions.
35301
+ */
35302
+ export class MetadataEnum {
35303
+ constructor(options: {
35304
+ id: string;
35305
+ values: MetadataEnumValue[];
35306
+ valueType?: MetadataComponentType;
35307
+ name?: string;
35308
+ description?: string;
35309
+ extras?: any;
35310
+ extensions?: any;
35311
+ });
35312
+ /**
35313
+ * The enum values.
35314
+ */
35315
+ readonly values: MetadataEnumValue[];
35316
+ /**
35317
+ * The enum value type.
35318
+ */
35319
+ readonly valueType: MetadataComponentType;
35320
+ /**
35321
+ * The ID of the enum.
35322
+ */
35323
+ readonly id: string;
35324
+ /**
35325
+ * The name of the enum.
35326
+ */
35327
+ readonly name: string;
35328
+ /**
35329
+ * The description of the enum.
35330
+ */
35331
+ readonly description: string;
35332
+ /**
35333
+ * Extra user-defined properties.
35334
+ */
35335
+ readonly extras: any;
35336
+ /**
35337
+ * An object containing extensions.
35338
+ */
35339
+ readonly extensions: any;
35340
+ }
35341
+
35342
+ /**
35343
+ * A metadata enum value.
35344
+ * <p>
35345
+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata|3D Metadata Specification} for 3D Tiles
35346
+ * </p>
35347
+ * @param options - Object with the following properties:
35348
+ * @param options.value - The integer value.
35349
+ * @param options.name - The name of the enum value.
35350
+ * @param [options.description] - The description of the enum value.
35351
+ * @param [options.extras] - Extra user-defined properties.
35352
+ * @param [options.extensions] - An object containing extensions.
35353
+ */
35354
+ export class MetadataEnumValue {
35355
+ constructor(options: {
35356
+ value: number;
35357
+ name: string;
35358
+ description?: string;
35359
+ extras?: any;
35360
+ extensions?: any;
35361
+ });
35362
+ /**
35363
+ * The integer value.
35364
+ */
35365
+ readonly value: number;
35366
+ /**
35367
+ * The name of the enum value.
35368
+ */
35369
+ readonly name: string;
35370
+ /**
35371
+ * The description of the enum value.
35372
+ */
35373
+ readonly description: string;
35374
+ /**
35375
+ * Extra user-defined properties.
35376
+ */
35377
+ readonly extras: any;
35378
+ /**
35379
+ * An object containing extensions.
35380
+ */
35381
+ readonly extensions: any;
35382
+ }
35383
+
35384
+ /**
35385
+ * A schema containing classes and enums.
35386
+ * <p>
35387
+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata|3D Metadata Specification} for 3D Tiles
35388
+ * </p>
35389
+ * @param options - Object with the following properties:
35390
+ * @param [options.id] - The ID of the schema
35391
+ * @param [options.name] - The name of the schema.
35392
+ * @param [options.description] - The description of the schema.
35393
+ * @param [options.version] - The application-specific version of the schema.
35394
+ * @param [options.classes] - Classes defined in the schema, where each key is the class ID.
35395
+ * @param [options.enums] - Enums defined in the schema, where each key is the enum ID.
35396
+ * @param [options.extras] - Extra user-defined properties.
35397
+ * @param [options.extensions] - An object containing extensions.
35398
+ */
35399
+ export class MetadataSchema {
35400
+ constructor(options: {
35401
+ id?: string;
35402
+ name?: string;
35403
+ description?: string;
35404
+ version?: string;
35405
+ classes?: {
35406
+ [key: string]: MetadataClass;
35407
+ };
35408
+ enums?: {
35409
+ [key: string]: MetadataEnum;
35410
+ };
35411
+ extras?: any;
35412
+ extensions?: any;
35413
+ });
35414
+ /**
35415
+ * Classes defined in the schema.
35416
+ */
35417
+ readonly classes: {
35418
+ [key: string]: MetadataClass;
35419
+ };
35420
+ /**
35421
+ * Enums defined in the schema.
35422
+ */
35423
+ readonly enums: {
35424
+ [key: string]: MetadataEnum;
35425
+ };
35426
+ /**
35427
+ * The ID of the schema.
35428
+ */
35429
+ readonly id: string;
35430
+ /**
35431
+ * The name of the schema.
35432
+ */
35433
+ readonly name: string;
35434
+ /**
35435
+ * The description of the schema.
35436
+ */
35437
+ readonly description: string;
35438
+ /**
35439
+ * The application-specific version of the schema.
35440
+ */
35441
+ readonly version: string;
35442
+ /**
35443
+ * Extra user-defined properties.
35444
+ */
35445
+ readonly extras: any;
35446
+ /**
35447
+ * An object containing extensions.
35448
+ */
35449
+ readonly extensions: any;
35450
+ }
35451
+
35452
+ /**
35453
+ * An enum of metadata types. These metadata types are containers containing
35454
+ * one or more components of type {@link MetadataComponentType}
35455
+ */
35456
+ export enum MetadataType {
35457
+ /**
35458
+ * A single component
35459
+ */
35460
+ SCALAR = "SCALAR",
35461
+ /**
35462
+ * A vector with two components
35463
+ */
35464
+ VEC2 = "VEC2",
35465
+ /**
35466
+ * A vector with three components
35467
+ */
35468
+ VEC3 = "VEC3",
35469
+ /**
35470
+ * A vector with four components
35471
+ */
35472
+ VEC4 = "VEC4",
35473
+ /**
35474
+ * A 2x2 matrix, stored in column-major format.
35475
+ */
35476
+ MAT2 = "MAT2",
35477
+ /**
35478
+ * A 3x3 matrix, stored in column-major format.
35479
+ */
35480
+ MAT3 = "MAT3",
35481
+ /**
35482
+ * A 4x4 matrix, stored in column-major format.
35483
+ */
35484
+ MAT4 = "MAT4",
35485
+ /**
35486
+ * A boolean (true/false) value
35487
+ */
35488
+ BOOLEAN = "BOOLEAN",
35489
+ /**
35490
+ * A UTF-8 encoded string value
35491
+ */
35492
+ STRING = "STRING",
35493
+ /**
35494
+ * An enumerated value. This type is used in conjunction with a {@link MetadataEnum} to describe the valid values.
35495
+ */
35496
+ ENUM = "ENUM"
35497
+ }
35498
+
34870
35499
  /**
34871
35500
  * An object describing a uniform, its type, and an initial value
34872
35501
  * @property type - The Glsl type of the uniform.
@@ -35066,22 +35695,55 @@ export enum LightingModel {
35066
35695
  * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/AGI_articulations/README.md|AGI_articulations}
35067
35696
  * </li>
35068
35697
  * <li>
35698
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline}
35699
+ * </li>
35700
+ * <li>
35701
+ * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/CESIUM_RTC/README.md|CESIUM_RTC}
35702
+ * </li>
35703
+ * <li>
35704
+ * {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_instance_features|EXT_instance_features}
35705
+ * </li>
35706
+ * <li>
35707
+ * {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_mesh_features|EXT_mesh_features}
35708
+ * </li>
35709
+ * <li>
35710
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing|EXT_mesh_gpu_instancing}
35711
+ * </li>
35712
+ * <li>
35713
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_meshopt_compression|EXT_meshopt_compression}
35714
+ * </li>
35715
+ * <li>
35716
+ * {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_structural_metadata|EXT_structural_metadata}
35717
+ * </li>
35718
+ * <li>
35719
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_texture_webp|EXT_texture_webp}
35720
+ * </li>
35721
+ * <li>
35069
35722
  * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md|KHR_draco_mesh_compression}
35070
35723
  * </li>
35071
35724
  * <li>
35072
- * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness/README.md|KHR_materials_pbrSpecularGlossiness}
35725
+ * {@link https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Archived/KHR_techniques_webgl/README.md|KHR_techniques_webgl}
35726
+ * </li>
35727
+ * <li>
35728
+ * {@link https://github.com/KhronosGroup/glTF/blob/main/extensions/1.0/Khronos/KHR_materials_common/README.md|KHR_materials_common}
35729
+ * </li>
35730
+ * <li>
35731
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness|KHR_materials_pbrSpecularGlossiness}
35073
35732
  * </li>
35074
35733
  * <li>
35075
35734
  * {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit/README.md|KHR_materials_unlit}
35076
35735
  * </li>
35077
35736
  * <li>
35078
- * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_transform/README.md|KHR_texture_transform}
35737
+ * {@link https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_mesh_quantization|KHR_mesh_quantization}
35079
35738
  * </li>
35080
35739
  * <li>
35081
35740
  * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_basisu|KHR_texture_basisu}
35082
35741
  * </li>
35083
35742
  * <li>
35084
- * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/1.0/Vendor/CESIUM_RTC/README.md|CESIUM_RTC}
35743
+ * {@link https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_transform/README.md|KHR_texture_transform}
35744
+ * </li>
35745
+ * <li>
35746
+ * {@link https://github.com/KhronosGroup/glTF/blob/main/extensions/1.0/Vendor/WEB3D_quantized_attributes/README.md|WEB3D_quantized_attributes}
35085
35747
  * </li>
35086
35748
  * </ul>
35087
35749
  * </p>
@@ -38449,43 +39111,6 @@ export class PrimitiveCollection {
38449
39111
  /**
38450
39112
  * The container for all 3D graphical objects and state in a Cesium virtual scene. Generally,
38451
39113
  * a scene is not created directly; instead, it is implicitly created by {@link CesiumWidget}.
38452
- * <p>
38453
- * <em><code>contextOptions</code> parameter details:</em>
38454
- * </p>
38455
- * <p>
38456
- * The default values are:
38457
- * <code>
38458
- * {
38459
- * webgl : {
38460
- * alpha : false,
38461
- * depth : true,
38462
- * stencil : false,
38463
- * antialias : true,
38464
- * powerPreference: 'high-performance',
38465
- * premultipliedAlpha : true,
38466
- * preserveDrawingBuffer : false,
38467
- * failIfMajorPerformanceCaveat : false
38468
- * },
38469
- * allowTextureFilterAnisotropic : true
38470
- * }
38471
- * </code>
38472
- * </p>
38473
- * <p>
38474
- * The <code>webgl</code> property corresponds to the {@link http://www.khronos.org/registry/webgl/specs/latest/#5.2|WebGLContextAttributes}
38475
- * object used to create the WebGL context.
38476
- * </p>
38477
- * <p>
38478
- * <code>webgl.alpha</code> defaults to false, which can improve performance compared to the standard WebGL default
38479
- * of true. If an application needs to composite Cesium above other HTML elements using alpha-blending, set
38480
- * <code>webgl.alpha</code> to true.
38481
- * </p>
38482
- * <p>
38483
- * The other <code>webgl</code> properties match the WebGL defaults for {@link http://www.khronos.org/registry/webgl/specs/latest/#5.2|WebGLContextAttributes}.
38484
- * </p>
38485
- * <p>
38486
- * <code>allowTextureFilterAnisotropic</code> defaults to true, which enables anisotropic texture filtering when the
38487
- * WebGL extension is supported. Setting this to false will improve performance, but hurt visual quality, especially for horizon views.
38488
- * </p>
38489
39114
  * @example
38490
39115
  * // Create scene without anisotropic texture filtering
38491
39116
  * const scene = new Cesium.Scene({
@@ -38496,7 +39121,7 @@ export class PrimitiveCollection {
38496
39121
  * });
38497
39122
  * @param options - Object with the following properties:
38498
39123
  * @param options.canvas - The HTML canvas element to create the scene for.
38499
- * @param [options.contextOptions] - Context and WebGL creation properties. See details above.
39124
+ * @param [options.contextOptions] - Context and WebGL creation properties.
38500
39125
  * @param [options.creditContainer] - The HTML element in which the credits will be displayed.
38501
39126
  * @param [options.creditViewport] - The HTML element in which to display the credit popup. If not specified, the viewport will be a added as a sibling of the canvas.
38502
39127
  * @param [options.mapProjection = new GeographicProjection()] - The map projection to use in 2D and Columbus View modes.
@@ -38506,13 +39131,13 @@ export class PrimitiveCollection {
38506
39131
  * @param [options.mapMode2D = MapMode2D.INFINITE_SCROLL] - Determines if the 2D map is rotatable or can be scrolled infinitely in the horizontal direction.
38507
39132
  * @param [options.requestRenderMode = false] - If true, rendering a frame will only occur when needed as determined by changes within the scene. Enabling improves performance of the application, but requires using {@link Scene#requestRender} to render a new frame explicitly in this mode. This will be necessary in many cases after making changes to the scene in other parts of the API. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
38508
39133
  * @param [options.maximumRenderTimeChange = 0.0] - If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
38509
- * @param [depthPlaneEllipsoidOffset = 0.0] - Adjust the DepthPlane to address rendering artefacts below ellipsoid zero elevation.
39134
+ * @param [options.depthPlaneEllipsoidOffset = 0.0] - Adjust the DepthPlane to address rendering artefacts below ellipsoid zero elevation.
38510
39135
  * @param [options.msaaSamples = 1] - If provided, this value controls the rate of multisample antialiasing. Typical multisampling rates are 2, 4, and sometimes 8 samples per pixel. Higher sampling rates of MSAA may impact performance in exchange for improved visual quality. This value only applies to WebGL2 contexts that support multisample render targets.
38511
39136
  */
38512
39137
  export class Scene {
38513
39138
  constructor(options: {
38514
39139
  canvas: HTMLCanvasElement;
38515
- contextOptions?: any;
39140
+ contextOptions?: ContextOptions;
38516
39141
  creditContainer?: Element;
38517
39142
  creditViewport?: Element;
38518
39143
  mapProjection?: MapProjection;
@@ -38522,8 +39147,9 @@ export class Scene {
38522
39147
  mapMode2D?: MapMode2D;
38523
39148
  requestRenderMode?: boolean;
38524
39149
  maximumRenderTimeChange?: number;
39150
+ depthPlaneEllipsoidOffset?: number;
38525
39151
  msaaSamples?: number;
38526
- }, depthPlaneEllipsoidOffset?: number);
39152
+ });
38527
39153
  /**
38528
39154
  * Exceptions occurring in <code>render</code> are always caught in order to raise the
38529
39155
  * <code>renderError</code> event. If this property is true, the error is rethrown
@@ -40873,6 +41499,285 @@ export class ViewportQuad {
40873
41499
  destroy(): void;
40874
41500
  }
40875
41501
 
41502
+ /**
41503
+ * A primitive that renders voxel data from a {@link VoxelProvider}.
41504
+ * @param [options] - Object with the following properties:
41505
+ * @param [options.provider] - The voxel provider that supplies the primitive with tile data.
41506
+ * @param [options.modelMatrix = Matrix4.IDENTITY] - The model matrix used to transform the primitive.
41507
+ * @param [options.customShader] - The custom shader used to style the primitive.
41508
+ * @param [options.clock] - The clock used to control time dynamic behavior.
41509
+ */
41510
+ export class VoxelPrimitive {
41511
+ constructor(options?: {
41512
+ provider?: VoxelProvider;
41513
+ modelMatrix?: Matrix4;
41514
+ customShader?: CustomShader;
41515
+ clock?: Clock;
41516
+ });
41517
+ /**
41518
+ * Gets a value indicating whether or not the primitive is ready for use.
41519
+ */
41520
+ readonly ready: boolean;
41521
+ /**
41522
+ * Gets the promise that will be resolved when the primitive is ready for use.
41523
+ */
41524
+ readonly readyPromise: Promise<VoxelPrimitive>;
41525
+ /**
41526
+ * Gets the {@link VoxelProvider} associated with this primitive.
41527
+ */
41528
+ readonly provider: VoxelProvider;
41529
+ /**
41530
+ * Gets the bounding sphere.
41531
+ */
41532
+ readonly boundingSphere: BoundingSphere;
41533
+ /**
41534
+ * Gets the oriented bounding box.
41535
+ */
41536
+ readonly orientedBoundingBox: OrientedBoundingBox;
41537
+ /**
41538
+ * Gets the model matrix.
41539
+ */
41540
+ readonly modelMatrix: Matrix4;
41541
+ /**
41542
+ * Gets the shape type.
41543
+ */
41544
+ readonly shape: VoxelShapeType;
41545
+ /**
41546
+ * Gets the voxel dimensions.
41547
+ */
41548
+ readonly dimensions: Cartesian3;
41549
+ /**
41550
+ * Gets the minimum value per channel of the voxel data.
41551
+ */
41552
+ readonly minimumValues: number[][];
41553
+ /**
41554
+ * Gets the maximum value per channel of the voxel data.
41555
+ */
41556
+ readonly maximumValues: number[][];
41557
+ /**
41558
+ * Gets or sets whether or not this primitive should be displayed.
41559
+ */
41560
+ show: boolean;
41561
+ /**
41562
+ * Gets or sets whether or not the primitive should update when the view changes.
41563
+ */
41564
+ disableUpdate: boolean;
41565
+ /**
41566
+ * Gets or sets whether or not to render debug visualizations.
41567
+ */
41568
+ debugDraw: boolean;
41569
+ /**
41570
+ * Gets or sets whether or not to test against depth when rendering.
41571
+ */
41572
+ depthTest: boolean;
41573
+ /**
41574
+ * Gets or sets whether or not to jitter the view ray during the raymarch.
41575
+ * This reduces stair-step artifacts but introduces noise.
41576
+ */
41577
+ jitter: boolean;
41578
+ /**
41579
+ * Gets or sets the nearest sampling.
41580
+ */
41581
+ nearestSampling: boolean;
41582
+ /**
41583
+ * Gets or sets the screen space error in pixels. If the screen space size
41584
+ * of a voxel is greater than the screen space error, the tile is subdivided.
41585
+ * Lower screen space error corresponds with higher detail rendering, but could
41586
+ * result in worse performance and higher memory consumption.
41587
+ */
41588
+ screenSpaceError: number;
41589
+ /**
41590
+ * Gets or sets the step size multiplier used during raymarching.
41591
+ * The lower the value, the higher the rendering quality, but
41592
+ * also the worse the performance.
41593
+ */
41594
+ stepSize: number;
41595
+ /**
41596
+ * Gets or sets the minimum bounds in the shape's local coordinate system.
41597
+ * Voxel data is stretched or squashed to fit the bounds.
41598
+ */
41599
+ minBounds: Cartesian3;
41600
+ /**
41601
+ * Gets or sets the maximum bounds in the shape's local coordinate system.
41602
+ * Voxel data is stretched or squashed to fit the bounds.
41603
+ */
41604
+ maxBounds: Cartesian3;
41605
+ /**
41606
+ * Gets or sets the minimum clipping location in the shape's local coordinate system.
41607
+ * Any voxel content outside the range is clipped.
41608
+ */
41609
+ minClippingBounds: Cartesian3;
41610
+ /**
41611
+ * Gets or sets the maximum clipping location in the shape's local coordinate system.
41612
+ * Any voxel content outside the range is clipped.
41613
+ */
41614
+ maxClippingBounds: Cartesian3;
41615
+ /**
41616
+ * The {@link ClippingPlaneCollection} used to selectively disable rendering the primitive.
41617
+ */
41618
+ clippingPlanes: ClippingPlaneCollection;
41619
+ /**
41620
+ * Gets or sets the custom shader. If undefined, {@link VoxelPrimitive.DefaultCustomShader} is set.
41621
+ */
41622
+ customShader: CustomShader;
41623
+ /**
41624
+ * Gets an event that is raised whenever a custom shader is compiled.
41625
+ */
41626
+ readonly customShaderCompilationEvent: Event;
41627
+ /**
41628
+ * Returns true if this object was destroyed; otherwise, false.
41629
+ * <br /><br />
41630
+ * If this object was destroyed, it should not be used; calling any function other than
41631
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
41632
+ * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
41633
+ */
41634
+ isDestroyed(): boolean;
41635
+ /**
41636
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
41637
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
41638
+ * <br /><br />
41639
+ * Once an object is destroyed, it should not be used; calling any function other than
41640
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
41641
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
41642
+ * @example
41643
+ * voxelPrimitive = voxelPrimitive && voxelPrimitive.destroy();
41644
+ */
41645
+ destroy(): void;
41646
+ }
41647
+
41648
+ /**
41649
+ * Provides voxel data. Intended to be used with {@link VoxelPrimitive}.
41650
+ * This type describes an interface and is not intended to be instantiated directly.
41651
+ */
41652
+ export class VoxelProvider {
41653
+ constructor();
41654
+ /**
41655
+ * Gets a value indicating whether or not the provider is ready for use.
41656
+ */
41657
+ readonly ready: boolean;
41658
+ /**
41659
+ * Gets the promise that will be resolved when the provider is ready for use.
41660
+ */
41661
+ readonly readyPromise: Promise<VoxelProvider>;
41662
+ /**
41663
+ * A transform from local space to global space. If undefined, the identity matrix will be used instead.
41664
+ */
41665
+ readonly globalTransform: Matrix4 | undefined;
41666
+ /**
41667
+ * A transform from shape space to local space. If undefined, the identity matrix will be used instead.
41668
+ */
41669
+ readonly shapeTransform: Matrix4 | undefined;
41670
+ /**
41671
+ * Gets the {@link VoxelShapeType}
41672
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41673
+ */
41674
+ readonly shape: VoxelShapeType;
41675
+ /**
41676
+ * Gets the minimum bounds.
41677
+ * If undefined, the shape's default minimum bounds will be used instead.
41678
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41679
+ */
41680
+ readonly minBounds: Cartesian3 | undefined;
41681
+ /**
41682
+ * Gets the maximum bounds.
41683
+ * If undefined, the shape's default maximum bounds will be used instead.
41684
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41685
+ */
41686
+ readonly maxBounds: Cartesian3 | undefined;
41687
+ /**
41688
+ * Gets the number of voxels per dimension of a tile. This is the same for all tiles in the dataset.
41689
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41690
+ */
41691
+ readonly dimensions: Cartesian3;
41692
+ /**
41693
+ * Gets the number of padding voxels before the tile. This improves rendering quality when sampling the edge of a tile, but it increases memory usage.
41694
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41695
+ */
41696
+ readonly paddingBefore: Cartesian3 | undefined;
41697
+ /**
41698
+ * Gets the number of padding voxels after the tile. This improves rendering quality when sampling the edge of a tile, but it increases memory usage.
41699
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41700
+ */
41701
+ readonly paddingAfter: Cartesian3 | undefined;
41702
+ /**
41703
+ * Gets the metadata names.
41704
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41705
+ */
41706
+ readonly names: string[];
41707
+ /**
41708
+ * Gets the metadata types.
41709
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41710
+ */
41711
+ readonly types: MetadataType[];
41712
+ /**
41713
+ * Gets the metadata component types.
41714
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41715
+ */
41716
+ readonly componentTypes: MetadataComponentType[];
41717
+ /**
41718
+ * Gets the metadata minimum values.
41719
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41720
+ */
41721
+ readonly minimumValues: number[][] | undefined;
41722
+ /**
41723
+ * Gets the metadata maximum values.
41724
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41725
+ */
41726
+ readonly maximumValues: number[][] | undefined;
41727
+ /**
41728
+ * The maximum number of tiles that exist for this provider. This value is used as a hint to the voxel renderer to allocate an appropriate amount of GPU memory. If this value is not known it can be undefined.
41729
+ * This should not be called before {@link VoxelProvider#ready} returns true.
41730
+ */
41731
+ readonly maximumTileCount: number | undefined;
41732
+ /**
41733
+ * Requests the data for a given tile. The data is a flattened 3D array ordered by X, then Y, then Z.
41734
+ * This function should not be called before {@link VoxelProvider#ready} returns true.
41735
+ * @param [options] - Object with the following properties:
41736
+ * @param [options.tileLevel = 0] - The tile's level.
41737
+ * @param [options.tileX = 0] - The tile's X coordinate.
41738
+ * @param [options.tileY = 0] - The tile's Y coordinate.
41739
+ * @param [options.tileZ = 0] - The tile's Z coordinate.
41740
+ * @returns A promise to an array of typed arrays containing the requested voxel data or undefined if there was a problem loading the data.
41741
+ */
41742
+ requestData(options?: {
41743
+ tileLevel?: number;
41744
+ tileX?: number;
41745
+ tileY?: number;
41746
+ tileZ?: number;
41747
+ }): Promise<any[][]> | undefined;
41748
+ }
41749
+
41750
+ export const shaderUniforms: {
41751
+ [key: string]: any;
41752
+ };
41753
+
41754
+ export const shaderDefines: {
41755
+ [key: string]: any;
41756
+ };
41757
+
41758
+ /**
41759
+ * The maximum number of intersections against the shape for any ray direction.
41760
+ */
41761
+ export const shaderMaximumIntersectionsLength: number;
41762
+
41763
+ /**
41764
+ * An enum of voxel shapes. The shape controls how the voxel grid is mapped to 3D space.
41765
+ */
41766
+ export enum VoxelShapeType {
41767
+ /**
41768
+ * A box shape.
41769
+ */
41770
+ BOX = "BOX",
41771
+ /**
41772
+ * An ellipsoid shape.
41773
+ */
41774
+ ELLIPSOID = "ELLIPSOID",
41775
+ /**
41776
+ * A cylinder shape.
41777
+ */
41778
+ CYLINDER = "CYLINDER"
41779
+ }
41780
+
40876
41781
  /**
40877
41782
  * EPSG codes known to include reverse axis orders, but are not within 4000-5000.
40878
41783
  */
@@ -41606,7 +42511,7 @@ export function createWorldImagery(options?: {
41606
42511
  * @param [options.useBrowserRecommendedResolution = true] - If true, render at the browser's recommended resolution and ignore <code>window.devicePixelRatio</code>.
41607
42512
  * @param [options.targetFrameRate] - The target frame rate when using the default render loop.
41608
42513
  * @param [options.showRenderLoopErrors = true] - If true, this widget will automatically display an HTML panel to the user containing the error, if a render loop error occurs.
41609
- * @param [options.contextOptions] - Context and WebGL creation properties corresponding to <code>options</code> passed to {@link Scene}.
42514
+ * @param [options.contextOptions] - Context and WebGL creation properties passed to {@link Scene}.
41610
42515
  * @param [options.creditContainer] - The DOM element or ID that will contain the {@link CreditDisplay}. If not specified, the credits are added
41611
42516
  * to the bottom of the widget itself.
41612
42517
  * @param [options.creditViewport] - The DOM element or ID that will contain the credit pop up created by the {@link CreditDisplay}. If not specified, it will appear over the widget itself.
@@ -41634,7 +42539,7 @@ export class CesiumWidget {
41634
42539
  useBrowserRecommendedResolution?: boolean;
41635
42540
  targetFrameRate?: number;
41636
42541
  showRenderLoopErrors?: boolean;
41637
- contextOptions?: any;
42542
+ contextOptions?: ContextOptions;
41638
42543
  creditContainer?: Element | string;
41639
42544
  creditViewport?: Element | string;
41640
42545
  shadows?: boolean;