@cesium/engine 20.0.2-ion.0 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +637 -0
  2. package/Build/Workers/{chunk-WZKTQZUW.js → chunk-2T4WAVWX.js} +6 -6
  3. package/Build/Workers/{chunk-6LULWCX3.js → chunk-3G5XEUPY.js} +1 -1
  4. package/Build/Workers/{chunk-OIMV4OE5.js → chunk-3MSNTCHW.js} +9 -9
  5. package/Build/Workers/{chunk-VZNF2GT7.js → chunk-3OPG2FGI.js} +4 -4
  6. package/Build/Workers/{chunk-MTBXKKSQ.js → chunk-3PUG3T2H.js} +12 -12
  7. package/Build/Workers/{chunk-XWRUYDF6.js → chunk-4PH27XAL.js} +2 -2
  8. package/Build/Workers/{chunk-P2V7PVDH.js → chunk-4VJYMLR6.js} +8 -8
  9. package/Build/Workers/{chunk-MFXTB5I4.js → chunk-5B3PGBQW.js} +11 -11
  10. package/Build/Workers/{chunk-USK6ZAY2.js → chunk-5GHCWGC4.js} +1 -1
  11. package/Build/Workers/{chunk-AHFTST3Q.js → chunk-5PEQUMCB.js} +12 -12
  12. package/Build/Workers/{chunk-23B3EYUM.js → chunk-64WSG7AT.js} +4 -4
  13. package/Build/Workers/{chunk-CEA3L7M7.js → chunk-6J6WGCWP.js} +4 -4
  14. package/Build/Workers/{chunk-VSMKMGX4.js → chunk-75B34CC6.js} +5 -5
  15. package/Build/Workers/{chunk-IS5FETN7.js → chunk-7PLX65MV.js} +5 -5
  16. package/Build/Workers/{chunk-FNUSHLOY.js → chunk-AR2FUSG6.js} +1 -1
  17. package/Build/Workers/{chunk-VLGVUVJY.js → chunk-ARYRHDEB.js} +6 -6
  18. package/Build/Workers/{chunk-FHLPYFIW.js → chunk-B7INTBBB.js} +13 -13
  19. package/Build/Workers/{chunk-BHAATGZA.js → chunk-BDPSQXLX.js} +5 -5
  20. package/Build/Workers/{chunk-QZGZIAK2.js → chunk-BU4CGMHO.js} +6 -6
  21. package/Build/Workers/{chunk-YNPZU55A.js → chunk-BUBVUXDO.js} +6 -6
  22. package/Build/Workers/{chunk-LS63ERFB.js → chunk-CF72FAKC.js} +4 -4
  23. package/Build/Workers/{chunk-D4XRQNUO.js → chunk-DJ4ROETJ.js} +5 -5
  24. package/Build/Workers/{chunk-ABTG74AR.js → chunk-E5XCZVIY.js} +1 -1
  25. package/Build/Workers/{chunk-AFKNTEMH.js → chunk-EAYW4CFP.js} +16 -16
  26. package/Build/Workers/{chunk-YXTWHLJA.js → chunk-EHFMZFVC.js} +4 -4
  27. package/Build/Workers/{chunk-H7HFDM3G.js → chunk-FFCKCQPK.js} +5 -5
  28. package/Build/Workers/{chunk-V6ZGOX4I.js → chunk-GKCZ2G36.js} +7 -7
  29. package/Build/Workers/{chunk-VODCZKV2.js → chunk-HJ7IZBEI.js} +4 -4
  30. package/Build/Workers/{chunk-66MGJQFZ.js → chunk-JJZWDROM.js} +2 -2
  31. package/Build/Workers/{chunk-F4PS6RFF.js → chunk-JUOEBO4F.js} +10 -10
  32. package/Build/Workers/{chunk-WORBFT5H.js → chunk-K4IDXMIZ.js} +9 -9
  33. package/Build/Workers/{chunk-Q3OWKSC5.js → chunk-LL6HN3W4.js} +10 -10
  34. package/Build/Workers/{chunk-YUHWFX5H.js → chunk-LNTUIO55.js} +2 -2
  35. package/Build/Workers/{chunk-VA7LWA5Q.js → chunk-LWOCFJEH.js} +9 -9
  36. package/Build/Workers/{chunk-5DF5RVIO.js → chunk-MMUISYW4.js} +16 -16
  37. package/Build/Workers/{chunk-K6THSIDU.js → chunk-MXYW4BQ3.js} +2 -2
  38. package/Build/Workers/{chunk-X55ZOYMS.js → chunk-N6DVKXZD.js} +12 -12
  39. package/Build/Workers/{chunk-NKKNQMEH.js → chunk-NP46ZIBY.js} +3 -3
  40. package/Build/Workers/{chunk-QID3DXQA.js → chunk-OW6F6CPZ.js} +7 -7
  41. package/Build/Workers/{chunk-CYC7JX3P.js → chunk-P6OAOFBU.js} +8 -8
  42. package/Build/Workers/{chunk-FYYP46TF.js → chunk-PXDMWXO5.js} +2 -2
  43. package/Build/Workers/{chunk-TZDR2BAP.js → chunk-QS7623NH.js} +6 -6
  44. package/Build/Workers/{chunk-D5X2LOJ2.js → chunk-ROH45IXJ.js} +7 -7
  45. package/Build/Workers/{chunk-UR36KLNW.js → chunk-S2P6LCIB.js} +4 -4
  46. package/Build/Workers/{chunk-Z2W7ZIGV.js → chunk-S4NZVXU6.js} +2 -2
  47. package/Build/Workers/{chunk-YSDOO7AG.js → chunk-SGGO5WVA.js} +5 -5
  48. package/Build/Workers/{chunk-H5IQLAJP.js → chunk-TG7N7TPY.js} +47 -50
  49. package/Build/Workers/{chunk-XIDMFHR4.js → chunk-TUZQG4RW.js} +14 -14
  50. package/Build/Workers/{chunk-JVG6T2WE.js → chunk-UHVE7V65.js} +12 -12
  51. package/Build/Workers/{chunk-FAQ2XNFV.js → chunk-UY2HVPDL.js} +5 -5
  52. package/Build/Workers/{chunk-CUU3WGXJ.js → chunk-YNLPRFUQ.js} +6 -6
  53. package/Build/Workers/{chunk-X6GXYB3M.js → chunk-ZYOHBCCE.js} +1 -1
  54. package/Build/Workers/combineGeometry.js +21 -21
  55. package/Build/Workers/createBoxGeometry.js +15 -15
  56. package/Build/Workers/createBoxOutlineGeometry.js +13 -13
  57. package/Build/Workers/createCircleGeometry.js +23 -23
  58. package/Build/Workers/createCircleOutlineGeometry.js +16 -16
  59. package/Build/Workers/createCoplanarPolygonGeometry.js +30 -30
  60. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +28 -28
  61. package/Build/Workers/createCorridorGeometry.js +26 -26
  62. package/Build/Workers/createCorridorOutlineGeometry.js +25 -25
  63. package/Build/Workers/createCylinderGeometry.js +17 -17
  64. package/Build/Workers/createCylinderOutlineGeometry.js +15 -15
  65. package/Build/Workers/createEllipseGeometry.js +23 -23
  66. package/Build/Workers/createEllipseOutlineGeometry.js +16 -16
  67. package/Build/Workers/createEllipsoidGeometry.js +16 -16
  68. package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -15
  69. package/Build/Workers/createFrustumGeometry.js +15 -15
  70. package/Build/Workers/createFrustumOutlineGeometry.js +15 -15
  71. package/Build/Workers/createGeometry.js +21 -21
  72. package/Build/Workers/createGroundPolylineGeometry.js +19 -19
  73. package/Build/Workers/createPlaneGeometry.js +13 -13
  74. package/Build/Workers/createPlaneOutlineGeometry.js +12 -12
  75. package/Build/Workers/createPolygonGeometry.js +29 -29
  76. package/Build/Workers/createPolygonOutlineGeometry.js +27 -27
  77. package/Build/Workers/createPolylineGeometry.js +22 -22
  78. package/Build/Workers/createPolylineVolumeGeometry.js +28 -28
  79. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +24 -24
  80. package/Build/Workers/createRectangleGeometry.js +24 -24
  81. package/Build/Workers/createRectangleOutlineGeometry.js +17 -17
  82. package/Build/Workers/createSimplePolylineGeometry.js +20 -20
  83. package/Build/Workers/createSphereGeometry.js +16 -16
  84. package/Build/Workers/createSphereOutlineGeometry.js +15 -15
  85. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  86. package/Build/Workers/createVectorTileClampedPolylines.js +12 -12
  87. package/Build/Workers/createVectorTileGeometries.js +21 -21
  88. package/Build/Workers/createVectorTilePoints.js +11 -11
  89. package/Build/Workers/createVectorTilePolygons.js +19 -19
  90. package/Build/Workers/createVectorTilePolylines.js +12 -12
  91. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +19 -19
  92. package/Build/Workers/createVerticesFromHeightmap.js +19 -19
  93. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +16 -16
  94. package/Build/Workers/createWallGeometry.js +21 -21
  95. package/Build/Workers/createWallOutlineGeometry.js +20 -20
  96. package/Build/Workers/decodeDraco.js +10 -10
  97. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  98. package/Build/Workers/decodeI3S.js +9 -9
  99. package/Build/Workers/gaussianSplatSorter.js +4 -4
  100. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  101. package/Build/Workers/transcodeKTX2.js +6 -6
  102. package/Build/Workers/transferTypedArrayTest.js +1 -1
  103. package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -19
  104. package/Source/Core/Event.js +41 -49
  105. package/Source/Core/GoogleMaps.js +2 -2
  106. package/Source/Core/Ion.js +1 -1
  107. package/Source/Core/IonResource.js +30 -4
  108. package/Source/Core/Resource.js +5 -1
  109. package/Source/DataSources/KmlDataSource.js +62 -63
  110. package/Source/DataSources/exportKml.js +27 -30
  111. package/Source/Scene/ArcGisMapService.js +1 -1
  112. package/Source/Scene/Azure2DImageryProvider.js +308 -0
  113. package/Source/Scene/Billboard.js +4 -0
  114. package/Source/Scene/BillboardCollection.js +9 -2
  115. package/Source/Scene/ClippingPlaneCollection.js +3 -3
  116. package/Source/Scene/ClippingPolygon.js +91 -2
  117. package/Source/Scene/CreditDisplay.js +1 -1
  118. package/Source/Scene/GaussianSplat3DTileContent.js +54 -9
  119. package/Source/Scene/GaussianSplatPrimitive.js +49 -50
  120. package/Source/Scene/Google2DImageryProvider.js +614 -0
  121. package/Source/Scene/IonImageryProvider.js +22 -1
  122. package/Source/Scene/LabelCollection.js +1 -0
  123. package/Source/Scene/Material.js +248 -80
  124. package/Source/Scene/Primitive.js +6 -0
  125. package/Source/Scene/PrimitiveState.js +123 -0
  126. package/Source/Scene/Scene.js +2 -2
  127. package/Source/Scene/VoxelBoundsCollection.js +494 -0
  128. package/Source/Scene/VoxelBoxShape.js +236 -101
  129. package/Source/Scene/VoxelCylinderShape.js +315 -204
  130. package/Source/Scene/VoxelEllipsoidShape.js +402 -119
  131. package/Source/Scene/VoxelPrimitive.js +119 -84
  132. package/Source/Scene/VoxelRenderResources.js +17 -10
  133. package/Source/Scene/VoxelShape.js +21 -6
  134. package/Source/Scene/buildVoxelDrawCommands.js +61 -20
  135. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  136. package/Source/Scene/getClippingFunction.js +79 -88
  137. package/Source/Shaders/BillboardCollectionVS.glsl +2 -0
  138. package/Source/Shaders/BillboardCollectionVS.js +2 -0
  139. package/Source/Shaders/Voxels/IntersectBox.glsl +20 -33
  140. package/Source/Shaders/Voxels/IntersectBox.js +20 -33
  141. package/Source/Shaders/Voxels/IntersectCylinder.glsl +28 -32
  142. package/Source/Shaders/Voxels/IntersectCylinder.js +28 -32
  143. package/Source/Shaders/Voxels/IntersectDepth.glsl +1 -4
  144. package/Source/Shaders/Voxels/IntersectDepth.js +1 -4
  145. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +12 -20
  146. package/Source/Shaders/Voxels/IntersectEllipsoid.js +12 -20
  147. package/Source/Shaders/Voxels/IntersectLongitude.glsl +21 -9
  148. package/Source/Shaders/Voxels/IntersectLongitude.js +21 -9
  149. package/Source/Shaders/Voxels/{IntersectClippingPlanes.glsl → IntersectPlane.glsl} +5 -3
  150. package/Source/Shaders/Voxels/{IntersectClippingPlanes.js → IntersectPlane.js} +5 -3
  151. package/Source/Shaders/Voxels/Intersection.glsl +3 -3
  152. package/Source/Shaders/Voxels/Intersection.js +3 -3
  153. package/Source/Shaders/Voxels/Octree.glsl +46 -51
  154. package/Source/Shaders/Voxels/Octree.js +46 -51
  155. package/Source/Shaders/Voxels/VoxelFS.glsl +50 -48
  156. package/Source/Shaders/Voxels/VoxelFS.js +50 -48
  157. package/Source/Shaders/Voxels/VoxelUtils.glsl +0 -19
  158. package/Source/Shaders/Voxels/VoxelUtils.js +0 -19
  159. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +30 -0
  160. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +32 -0
  161. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +97 -0
  162. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +99 -0
  163. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +193 -0
  164. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +195 -0
  165. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -0
  166. package/Source/ThirdParty/zip-module.wasm +0 -0
  167. package/index.d.ts +317 -14
  168. package/index.js +141 -139
  169. package/package.json +2 -2
  170. package/Build/ThirdParty/Workers/pako_deflate.min.js +0 -503
  171. package/Build/ThirdParty/Workers/pako_inflate.min.js +0 -698
  172. package/Build/ThirdParty/Workers/z-worker-pako.js +0 -601
  173. package/Source/Core/defaultValue.js +0 -48
  174. package/Source/Shaders/Voxels/convertUvToBox.glsl +0 -45
  175. package/Source/Shaders/Voxels/convertUvToBox.js +0 -46
  176. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +0 -99
  177. package/Source/Shaders/Voxels/convertUvToCylinder.js +0 -101
  178. package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +0 -139
  179. package/Source/Shaders/Voxels/convertUvToEllipsoid.js +0 -141
  180. package/Source/ThirdParty/Workers/pako_deflate.min.js +0 -2
  181. package/Source/ThirdParty/Workers/pako_inflate.min.js +0 -2
  182. package/Source/ThirdParty/Workers/z-worker-pako.js +0 -1
package/index.d.ts CHANGED
@@ -8846,7 +8846,7 @@ export class IonResource extends Resource {
8846
8846
  * @param [options] - An object with the following properties:
8847
8847
  * @param [options.accessToken = Ion.defaultAccessToken] - The access token to use.
8848
8848
  * @param [options.server = Ion.defaultServer] - The resource to the Cesium ion API server.
8849
- * @returns A Promise to am instance representing the Cesium ion Asset.
8849
+ * @returns A Promise to an instance representing the Cesium ion Asset.
8850
8850
  */
8851
8851
  static fromAssetId(assetId: number, options?: {
8852
8852
  accessToken?: string;
@@ -18520,15 +18520,6 @@ export function createWorldTerrainAsync(options?: {
18520
18520
  requestWaterMask?: boolean;
18521
18521
  }): Promise<CesiumTerrainProvider>;
18522
18522
 
18523
- /**
18524
- * Returns the first parameter if not undefined, otherwise the second parameter.
18525
- * Useful for setting a default value for a parameter.
18526
- * @example
18527
- * param = Cesium.defaultValue(param, 'default');
18528
- * @returns Returns the first parameter if not undefined, otherwise the second parameter.
18529
- */
18530
- export function defaultValue(a: any, b: any): any;
18531
-
18532
18523
  /**
18533
18524
  * @example
18534
18525
  * if (Cesium.defined(positions)) {
@@ -30654,12 +30645,12 @@ export class ClippingPlaneCollection {
30654
30645
  * An event triggered when a new clipping plane is added to the collection. Event handlers
30655
30646
  * are passed the new plane and the index at which it was added.
30656
30647
  */
30657
- planeAdded: Event;
30648
+ readonly planeAdded: Event;
30658
30649
  /**
30659
30650
  * An event triggered when a new clipping plane is removed from the collection. Event handlers
30660
30651
  * are passed the new plane and the index from which it was removed.
30661
30652
  */
30662
- planeRemoved: Event;
30653
+ readonly planeRemoved: Event;
30663
30654
  /**
30664
30655
  * Returns the number of planes in this collection. This is commonly used with
30665
30656
  * {@link ClippingPlaneCollection#get} to iterate over all the planes
@@ -30799,6 +30790,33 @@ export class ClippingPolygon {
30799
30790
  computeRectangle(result?: Rectangle): Rectangle;
30800
30791
  }
30801
30792
 
30793
+ /**
30794
+ * Returns a deep copy of the given array.
30795
+ *
30796
+ * If the input is undefined, then <code>undefined</code> is returned.
30797
+ *
30798
+ * Otherwise, the result will be a copy of the given array, where
30799
+ * each element is copied with <code>Cartesian3.clone</code>.
30800
+ * @param input - The input array
30801
+ * @returns The copy
30802
+ */
30803
+ export function copyArrayCartesian3(input: Cartesian3[] | undefined): Cartesian3[] | undefined;
30804
+
30805
+ /**
30806
+ * Returns whether the given arrays are component-wise equal.
30807
+ *
30808
+ * When both arrays are undefined, then <code>true</code> is returned.
30809
+ * When only one array is defined, or they are both defined but have
30810
+ * different lengths, then <code>false</code> is returned.
30811
+ *
30812
+ * Otherwise, returns whether the corresponding elements of the arrays
30813
+ * are equal, as of <code>Cartesian3.equals</code>.
30814
+ * @param a - The first array
30815
+ * @param b - The second array
30816
+ * @returns Whether the arrays are equal
30817
+ */
30818
+ export function equalsArrayCartesian3(a: Cartesian3[] | undefined, b: Cartesian3[] | undefined): boolean;
30819
+
30802
30820
  /**
30803
30821
  * Specifies a set of clipping polygons. Clipping polygons selectively disable rendering in a region
30804
30822
  * inside or outside the specified list of {@link ClippingPolygon} objects for a single glTF model, 3D Tileset, or the globe.
@@ -32851,6 +32869,261 @@ export function loadGltfJson(): void;
32851
32869
  */
32852
32870
  export function removeExtension(gltf: any, extension: string): any;
32853
32871
 
32872
+ export namespace Google2DImageryProvider {
32873
+ /**
32874
+ * Initialization options for the Google2DImageryProvider constructor
32875
+ * @property options - Object with the following properties:
32876
+ * @property options.key - The Google api key to send with tile requests.
32877
+ * @property options.session - The Google session token that tracks the current state of your map and viewport.
32878
+ * @property options.url - The Google 2D maps endpoint.
32879
+ * @property options.tileWidth - The width of each tile in pixels.
32880
+ * @property options.tileHeight - The height of each tile in pixels.
32881
+ * @property [options.ellipsoid = Ellipsoid.default] - The ellipsoid. If not specified, the default ellipsoid is used.
32882
+ * @property [options.minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when specifying
32883
+ * this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely
32884
+ * to result in rendering problems.
32885
+ * @property [options.maximumLevel = 22] - The maximum level-of-detail supported by the imagery provider.
32886
+ * @property [options.rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image.
32887
+ */
32888
+ type ConstructorOptions = {
32889
+ options: {
32890
+ key: string;
32891
+ session: string;
32892
+ url: string | Resource | IonResource;
32893
+ tileWidth: string;
32894
+ tileHeight: string;
32895
+ ellipsoid?: Ellipsoid;
32896
+ minimumLevel?: number;
32897
+ maximumLevel?: number;
32898
+ rectangle?: Rectangle;
32899
+ };
32900
+ };
32901
+ }
32902
+
32903
+ /**
32904
+ * <div class="notice">
32905
+ * This object is normally not instantiated directly, use {@link Google2DImageryProvider.fromIonAssetId} or {@link Google2DImageryProvider.fromUrl}.
32906
+ * </div>
32907
+ *
32908
+ *
32909
+ * Provides 2D image tiles from {@link https://developers.google.com/maps/documentation/tile/2d-tiles-overview|Google 2D Tiles}.
32910
+ *
32911
+ * Google 2D Tiles can only be used with the Google geocoder.
32912
+ * @example
32913
+ * // Google 2D imagery provider
32914
+ * const googleTilesProvider = Cesium.Google2DImageryProvider.fromIonAssetId({
32915
+ * assetId: 3830184
32916
+ * });
32917
+ * @example
32918
+ * // Use your own Google api key
32919
+ * Cesium.GoogleMaps.defaultApiKey = "your-api-key";
32920
+ *
32921
+ * const googleTilesProvider = Cesium.Google2DImageryProvider.fromUrl({
32922
+ * mapType: "SATELLITE"
32923
+ * });
32924
+ * @param options - Object describing initialization options
32925
+ */
32926
+ export class Google2DImageryProvider {
32927
+ constructor(options: Google2DImageryProvider.ConstructorOptions);
32928
+ /**
32929
+ * Gets the URL of the Google 2D Imagery server.
32930
+ */
32931
+ readonly url: string;
32932
+ /**
32933
+ * Gets the rectangle, in radians, of the imagery provided by the instance.
32934
+ */
32935
+ readonly rectangle: Rectangle;
32936
+ /**
32937
+ * Gets the width of each tile, in pixels.
32938
+ */
32939
+ readonly tileWidth: number;
32940
+ /**
32941
+ * Gets the height of each tile, in pixels.
32942
+ */
32943
+ readonly tileHeight: number;
32944
+ /**
32945
+ * Gets the maximum level-of-detail that can be requested.
32946
+ */
32947
+ readonly maximumLevel: number | undefined;
32948
+ /**
32949
+ * Gets the minimum level-of-detail that can be requested. Generally,
32950
+ * a minimum level should only be used when the rectangle of the imagery is small
32951
+ * enough that the number of tiles at the minimum level is small. An imagery
32952
+ * provider with more than a few tiles at the minimum level will lead to
32953
+ * rendering problems.
32954
+ */
32955
+ readonly minimumLevel: number;
32956
+ /**
32957
+ * Gets the tiling scheme used by the provider.
32958
+ */
32959
+ readonly tilingScheme: TilingScheme;
32960
+ /**
32961
+ * Gets the tile discard policy. If not undefined, the discard policy is responsible
32962
+ * for filtering out "missing" tiles via its shouldDiscardImage function. If this function
32963
+ * returns undefined, no tiles are filtered.
32964
+ */
32965
+ readonly tileDiscardPolicy: TileDiscardPolicy;
32966
+ /**
32967
+ * Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
32968
+ * to the event, you will be notified of the error and can potentially recover from it. Event listeners
32969
+ * are passed an instance of {@link TileProviderError}.
32970
+ */
32971
+ readonly errorEvent: Event;
32972
+ /**
32973
+ * Gets the credit to display when this imagery provider is active. Typically this is used to credit
32974
+ * the source of the imagery.
32975
+ */
32976
+ readonly credit: Credit;
32977
+ /**
32978
+ * Gets the proxy used by this provider.
32979
+ */
32980
+ readonly proxy: Proxy;
32981
+ /**
32982
+ * Gets a value indicating whether or not the images provided by this imagery provider
32983
+ * include an alpha channel. If this property is false, an alpha channel, if present, will
32984
+ * be ignored. If this property is true, any images without an alpha channel will be treated
32985
+ * as if their alpha is 1.0 everywhere. When this property is false, memory usage
32986
+ * and texture upload time are reduced.
32987
+ */
32988
+ readonly hasAlphaChannel: boolean;
32989
+ /**
32990
+ * Creates an {@link ImageryProvider} which provides 2D global tiled imagery from {@link https://developers.google.com/maps/documentation/tile/2d-tiles-overview|Google 2D Tiles}, streamed using the Cesium ion REST API.
32991
+ * @example
32992
+ * // Google 2D imagery provider
32993
+ * const googleTilesProvider = Cesium.Google2DImageryProvider.fromIonAssetId({
32994
+ * assetId: 3830184
32995
+ * });
32996
+ * @example
32997
+ * // Google 2D roadmap overlay with custom styles
32998
+ * const googleTileProvider = Cesium.Google2DImageryProvider.fromIonAssetId({
32999
+ * assetId: 3830184,
33000
+ * overlayLayerType: "layerRoadmap",
33001
+ * styles: [
33002
+ * {
33003
+ * stylers: [{ hue: "#00ffe6" }, { saturation: -20 }],
33004
+ * },
33005
+ * {
33006
+ * featureType: "road",
33007
+ * elementType: "geometry",
33008
+ * stylers: [{ lightness: 100 }, { visibility: "simplified" }],
33009
+ * },
33010
+ * ],
33011
+ * });
33012
+ * @param options - Object with the following properties:
33013
+ * @param options.assetId - The Cesium ion asset id.
33014
+ * @param [options.mapType = "satellite"] - The map type of the Google map imagery. Valid options are satellite, terrain, and roadmap. If overlayLayerType is set, mapType is ignored and a transparent overlay is returned. If overlayMapType is undefined, then a basemap of mapType is returned. layerRoadmap overlayLayerType is included in terrain and roadmap mapTypes.
33015
+ * @param [options.language = "en_US"] - an IETF language tag that specifies the language used to display information on the tiles
33016
+ * @param [options.region = "US"] - A Common Locale Data Repository region identifier (two uppercase letters) that represents the physical location of the user.
33017
+ * @param [options.overlayLayerType] - Returns a transparent overlay map with the specified layerType. If no value is provided, a basemap of mapType is returned. Use multiple instances of Google2DImageryProvider to add multiple Google Maps overlays to a scene. layerRoadmap is included in terrain and roadmap mapTypes, so adding as overlay to terrain or roadmap has no effect.
33018
+ * @param [options.styles] - An array of JSON style objects that specify the appearance and detail level of map features such as roads, parks, and built-up areas. Styling is used to customize the standard Google base map. The styles parameter is valid only if the mapType is roadmap. For the complete style syntax, see the ({@link https://developers.google.com/maps/documentation/tile/style-reference|Google Style Reference}).
33019
+ * @param [options.ellipsoid = Ellipsoid.default] - The ellipsoid. If not specified, the default ellipsoid is used.
33020
+ * @param [options.minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when specifying
33021
+ * this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely
33022
+ * to result in rendering problems.
33023
+ * @param [options.maximumLevel = 22] - The maximum level-of-detail supported by the imagery provider.
33024
+ * @param [options.rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image.
33025
+ * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
33026
+ * @returns A promise that resolves to the created Google2DImageryProvider.
33027
+ */
33028
+ static fromIonAssetId(options: {
33029
+ assetId: string;
33030
+ mapType?: "satellite" | "terrain" | "roadmap";
33031
+ language?: string;
33032
+ region?: string;
33033
+ overlayLayerType?: "layerRoadmap" | "layerStreetview" | "layerTraffic";
33034
+ styles?: any;
33035
+ ellipsoid?: Ellipsoid;
33036
+ minimumLevel?: number;
33037
+ maximumLevel?: number;
33038
+ rectangle?: Rectangle;
33039
+ credit?: Credit | string;
33040
+ }): Promise<Google2DImageryProvider>;
33041
+ /**
33042
+ * Creates an {@link ImageryProvider} which provides 2D global tiled imagery from {@link https://developers.google.com/maps/documentation/tile/2d-tiles-overview|Google 2D Tiles}.
33043
+ * @example
33044
+ * // Use your own Google api key
33045
+ * Cesium.GoogleMaps.defaultApiKey = "your-api-key";
33046
+ *
33047
+ * const googleTilesProvider = Cesium.Google2DImageryProvider.fromUrl({
33048
+ * mapType: "satellite"
33049
+ * });
33050
+ * @example
33051
+ * // Google 2D roadmap overlay with custom styles
33052
+ * Cesium.GoogleMaps.defaultApiKey = "your-api-key";
33053
+ *
33054
+ * const googleTileProvider = Cesium.Google2DImageryProvider.fromUrl({
33055
+ * overlayLayerType: "layerRoadmap",
33056
+ * styles: [
33057
+ * {
33058
+ * stylers: [{ hue: "#00ffe6" }, { saturation: -20 }],
33059
+ * },
33060
+ * {
33061
+ * featureType: "road",
33062
+ * elementType: "geometry",
33063
+ * stylers: [{ lightness: 100 }, { visibility: "simplified" }],
33064
+ * },
33065
+ * ],
33066
+ * });
33067
+ * @param options - Object with the following properties:
33068
+ * @param [options.key = GoogleMaps.defaultApiKey] - Your API key to access Google 2D Tiles. See {@link https://developers.google.com/maps/documentation/javascript/get-api-key} for instructions on how to create your own key.
33069
+ * @param [options.mapType = "satellite"] - The map type of the Google map imagery. Valid options are satellite, terrain, and roadmap. If overlayLayerType is set, mapType is ignored and a transparent overlay is returned. If overlayMapType is undefined, then a basemap of mapType is returned. layerRoadmap overlayLayerType is included in terrain and roadmap mapTypes.
33070
+ * @param [options.language = "en_US"] - an IETF language tag that specifies the language used to display information on the tiles
33071
+ * @param [options.region = "US"] - A Common Locale Data Repository region identifier (two uppercase letters) that represents the physical location of the user.
33072
+ * @param [options.overlayLayerType] - Returns a transparent overlay map with the specified layerType. If no value is provided, a basemap of mapType is returned. Use multiple instances of Google2DImageryProvider to add multiple Google Maps overlays to a scene. layerRoadmap is included in terrain and roadmap mapTypes, so adding as overlay to terrain or roadmap has no effect.
33073
+ * @param [options.styles] - An array of JSON style objects that specify the appearance and detail level of map features such as roads, parks, and built-up areas. Styling is used to customize the standard Google base map. The styles parameter is valid only if the mapType is roadmap. For the complete style syntax, see the ({@link https://developers.google.com/maps/documentation/tile/style-reference|Google Style Reference}).
33074
+ * @param [options.ellipsoid = Ellipsoid.default] - The ellipsoid. If not specified, the default ellipsoid is used.
33075
+ * @param [options.minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider. Take care when specifying
33076
+ * this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely
33077
+ * to result in rendering problems.
33078
+ * @param [options.maximumLevel = 22] - The maximum level-of-detail supported by the imagery provider.
33079
+ * @param [options.rectangle = Rectangle.MAX_VALUE] - The rectangle, in radians, covered by the image.
33080
+ * @param [options.credit] - A credit for the data source, which is displayed on the canvas.
33081
+ * @returns A promise that resolves to the created Google2DImageryProvider.
33082
+ */
33083
+ static fromUrl(options: {
33084
+ key?: string;
33085
+ mapType?: "satellite" | "terrain" | "roadmap";
33086
+ language?: string;
33087
+ region?: string;
33088
+ overlayLayerType?: "layerRoadmap" | "layerStreetview" | "layerTraffic";
33089
+ styles?: any;
33090
+ ellipsoid?: Ellipsoid;
33091
+ minimumLevel?: number;
33092
+ maximumLevel?: number;
33093
+ rectangle?: Rectangle;
33094
+ credit?: Credit | string;
33095
+ }): Promise<Google2DImageryProvider>;
33096
+ /**
33097
+ * Gets the credits to be displayed when a given tile is displayed.
33098
+ * @param x - The tile X coordinate.
33099
+ * @param y - The tile Y coordinate.
33100
+ * @param level - The tile level;
33101
+ * @returns The credits to be displayed when the tile is displayed.
33102
+ */
33103
+ getTileCredits(x: number, y: number, level: number): Credit[] | undefined;
33104
+ /**
33105
+ * Requests the image for a given tile.
33106
+ * @param x - The tile X coordinate.
33107
+ * @param y - The tile Y coordinate.
33108
+ * @param level - The tile level.
33109
+ * @param [request] - The request object. Intended for internal use only.
33110
+ * @returns A promise for the image that will resolve when the image is available, or
33111
+ * undefined if there are too many active requests to the server, and the request should be retried later.
33112
+ */
33113
+ requestImage(x: number, y: number, level: number, request?: Request): Promise<ImageryTypes> | undefined;
33114
+ /**
33115
+ * Picking features is not currently supported by this imagery provider, so this function simply returns
33116
+ * undefined.
33117
+ * @param x - The tile X coordinate.
33118
+ * @param y - The tile Y coordinate.
33119
+ * @param level - The tile level.
33120
+ * @param longitude - The longitude at which to pick features.
33121
+ * @param latitude - The latitude at which to pick features.
33122
+ * @returns Undefined since picking is not supported.
33123
+ */
33124
+ pickFeatures(x: number, y: number, level: number, longitude: number, latitude: number): undefined;
33125
+ }
33126
+
32854
33127
  export namespace GoogleEarthEnterpriseImageryProvider {
32855
33128
  /**
32856
33129
  * Initialization options for the GoogleEarthEnterpriseImageryProvider constructor
@@ -36323,6 +36596,18 @@ export class Material {
36323
36596
  * @returns New material object.
36324
36597
  */
36325
36598
  static fromType(type: string, uniforms?: any): Material;
36599
+ /**
36600
+ * Creates a new material using an existing material type and returns a promise that resolves when
36601
+ * all of the material's resources have been loaded.
36602
+ * @example
36603
+ * const material = await Cesium.Material.fromTypeAsync('Image', {
36604
+ * image: '../Images/Cesium_Logo_overlay.png'
36605
+ * });
36606
+ * @param type - The base material type.
36607
+ * @param [uniforms] - Overrides for the default uniforms.
36608
+ * @returns A promise that resolves to a new material object when all resources are loaded.
36609
+ */
36610
+ static fromTypeAsync(type: string, uniforms?: any): Promise<Material>;
36326
36611
  /**
36327
36612
  * Gets whether or not this material is translucent.
36328
36613
  * @returns <code>true</code> if this material is translucent, <code>false</code> otherwise.
@@ -36457,6 +36742,24 @@ export class Material {
36457
36742
  static readonly WaterMaskType: string;
36458
36743
  }
36459
36744
 
36745
+ /**
36746
+ * The {@link TextureMinificationFilter} to apply to this material's textures.
36747
+ */
36748
+ export var minificationFilter: TextureMinificationFilter;
36749
+
36750
+ /**
36751
+ * The {@link TextureMagnificationFilter} to apply to this material's textures.
36752
+ */
36753
+ export var magnificationFilter: TextureMagnificationFilter;
36754
+
36755
+ /**
36756
+ * Loads the images for a cubemap uniform, if it has changed since the last time this was called.
36757
+ * @param material - The material to load the cubemap images for.
36758
+ * @param uniformId - The ID of the uniform that corresponds to the cubemap images.
36759
+ * @returns A promise that resolves when the images are loaded, or a resolved promise if image loading is not necessary.
36760
+ */
36761
+ export function loadCubeMapImagesForUniform(material: Material, uniformId: string): any;
36762
+
36460
36763
  /**
36461
36764
  * An appearance for arbitrary geometry (as opposed to {@link EllipsoidSurfaceAppearance}, for example)
36462
36765
  * that supports shading with materials.
@@ -41306,8 +41609,8 @@ export const TILE_SIZE = 256;
41306
41609
  * @param options - Object with the following properties:
41307
41610
  * @param options.canvas - The HTML canvas element to create the scene for.
41308
41611
  * @param [options.contextOptions] - Context and WebGL creation properties.
41309
- * @param [options.creditContainer] - The HTML element in which the credits will be displayed.
41310
- * @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.
41612
+ * @param [options.creditContainer] - The HTML element in which the credits will be displayed. If not specified, a credit container will be created and added as a sibling of the canvas.
41613
+ * @param [options.creditViewport] - The HTML element in which to display the credit popup. If not specified, the viewport will be added as a sibling of the canvas.
41311
41614
  * @param [options.ellipsoid = Ellipsoid.default] - The default ellipsoid. If not specified, the default ellipsoid is used.
41312
41615
  * @param [options.mapProjection = new GeographicProjection(options.ellipsoid)] - The map projection to use in 2D and Columbus View modes.
41313
41616
  * @param [options.orderIndependentTranslucency = true] - If true and the configuration supports it, use order independent translucency.