@cesium/engine 3.0.1 → 4.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 (234) hide show
  1. package/Build/ThirdParty/Workers/pako_deflate.min.js +605 -0
  2. package/Build/ThirdParty/Workers/pako_inflate.min.js +800 -0
  3. package/Build/ThirdParty/Workers/z-worker-pako.js +502 -0
  4. package/Build/Workers/chunk-27R2KRIK.js +634 -0
  5. package/Build/Workers/chunk-2C65EKYA.js +55 -0
  6. package/Build/Workers/chunk-2NLMZNJI.js +138 -0
  7. package/Build/Workers/chunk-4V6RCTVH.js +289 -0
  8. package/Build/Workers/chunk-4VWUFKYW.js +368 -0
  9. package/Build/Workers/chunk-527JG4D7.js +629 -0
  10. package/Build/Workers/chunk-5U4UHRZ2.js +8644 -0
  11. package/Build/Workers/chunk-7CZEWQWE.js +353 -0
  12. package/Build/Workers/chunk-7IMAWM6A.js +842 -0
  13. package/Build/Workers/{package.js → chunk-A6EA6KIE.js} +13 -2
  14. package/Build/Workers/chunk-AXGQUPXA.js +1075 -0
  15. package/Build/Workers/chunk-BT6YIL2N.js +39 -0
  16. package/Build/Workers/chunk-C6MRR5YL.js +476 -0
  17. package/Build/Workers/chunk-DJUTBX6A.js +1860 -0
  18. package/Build/Workers/chunk-EQ6ZAP37.js +218 -0
  19. package/Build/Workers/chunk-F7P2HCYZ.js +73 -0
  20. package/Build/Workers/chunk-FE2XG3SS.js +73 -0
  21. package/Build/Workers/chunk-FKHRSGKP.js +781 -0
  22. package/Build/Workers/chunk-FVDTKX3F.js +58 -0
  23. package/Build/Workers/chunk-FYHCAKU6.js +684 -0
  24. package/Build/Workers/chunk-G3MOT7BZ.js +157 -0
  25. package/Build/Workers/chunk-H52L6U76.js +421 -0
  26. package/Build/Workers/chunk-H6MBQ4W4.js +305 -0
  27. package/Build/Workers/chunk-HCZR75II.js +2716 -0
  28. package/Build/Workers/chunk-I5MQWHBR.js +102 -0
  29. package/Build/Workers/chunk-KAFF2QX3.js +258 -0
  30. package/Build/Workers/chunk-LGSGX2RH.js +757 -0
  31. package/Build/Workers/chunk-LQRFWCNX.js +124 -0
  32. package/Build/Workers/chunk-N5MMDSD2.js +44 -0
  33. package/Build/Workers/chunk-NRETMGYL.js +390 -0
  34. package/Build/Workers/chunk-P4M4QUNQ.js +196 -0
  35. package/Build/Workers/chunk-P7PWX5HR.js +430 -0
  36. package/Build/Workers/chunk-PGB3EFR7.js +171 -0
  37. package/Build/Workers/chunk-PW5CA4MJ.js +3273 -0
  38. package/Build/Workers/chunk-PWDYKCNC.js +501 -0
  39. package/Build/Workers/chunk-QIS3NB7U.js +1258 -0
  40. package/Build/Workers/chunk-QVJ6IRKV.js +77 -0
  41. package/Build/Workers/chunk-RDCDRNJ7.js +117 -0
  42. package/Build/Workers/chunk-RDM3BKNC.js +1009 -0
  43. package/Build/Workers/chunk-RRUPTJ6P.js +452 -0
  44. package/Build/Workers/chunk-SGRWJKNO.js +400 -0
  45. package/Build/Workers/chunk-TF5D2H7B.js +138 -0
  46. package/Build/Workers/chunk-TVYIHH4V.js +513 -0
  47. package/Build/Workers/chunk-U5LKG6LX.js +101 -0
  48. package/Build/Workers/chunk-UGZGTV5K.js +302 -0
  49. package/Build/Workers/chunk-UN7AK64D.js +163 -0
  50. package/Build/Workers/chunk-V2LKNJGT.js +59 -0
  51. package/Build/Workers/chunk-VSCXSFHE.js +1477 -0
  52. package/Build/Workers/chunk-XJCTFTBM.js +2041 -0
  53. package/Build/Workers/chunk-XZVQMPWG.js +100 -0
  54. package/Build/Workers/chunk-YLAFWVOW.js +834 -0
  55. package/Build/Workers/chunk-YLS3FX3U.js +236 -0
  56. package/Build/Workers/chunk-YMJPANZZ.js +693 -0
  57. package/Build/Workers/combineGeometry.js +65 -15
  58. package/Build/Workers/createBoxGeometry.js +55 -10
  59. package/Build/Workers/createBoxOutlineGeometry.js +231 -310
  60. package/Build/Workers/createCircleGeometry.js +185 -202
  61. package/Build/Workers/createCircleOutlineGeometry.js +141 -155
  62. package/Build/Workers/createCoplanarPolygonGeometry.js +477 -557
  63. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +218 -230
  64. package/Build/Workers/createCorridorGeometry.js +1162 -1307
  65. package/Build/Workers/createCorridorOutlineGeometry.js +533 -569
  66. package/Build/Workers/createCylinderGeometry.js +57 -10
  67. package/Build/Workers/createCylinderOutlineGeometry.js +224 -258
  68. package/Build/Workers/createEllipseGeometry.js +68 -12
  69. package/Build/Workers/createEllipseOutlineGeometry.js +61 -12
  70. package/Build/Workers/createEllipsoidGeometry.js +56 -10
  71. package/Build/Workers/createEllipsoidOutlineGeometry.js +58 -13
  72. package/Build/Workers/createFrustumGeometry.js +55 -10
  73. package/Build/Workers/createFrustumOutlineGeometry.js +226 -243
  74. package/Build/Workers/createGeometry.js +143 -48
  75. package/Build/Workers/createGroundPolylineGeometry.js +1484 -2011
  76. package/Build/Workers/createPlaneGeometry.js +216 -243
  77. package/Build/Workers/createPlaneOutlineGeometry.js +121 -113
  78. package/Build/Workers/createPolygonGeometry.js +1041 -1327
  79. package/Build/Workers/createPolygonOutlineGeometry.js +516 -657
  80. package/Build/Workers/createPolylineGeometry.js +471 -547
  81. package/Build/Workers/createPolylineVolumeGeometry.js +352 -384
  82. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +271 -295
  83. package/Build/Workers/createRectangleGeometry.js +1128 -1331
  84. package/Build/Workers/createRectangleOutlineGeometry.js +445 -500
  85. package/Build/Workers/createSimplePolylineGeometry.js +381 -440
  86. package/Build/Workers/createSphereGeometry.js +112 -118
  87. package/Build/Workers/createSphereOutlineGeometry.js +112 -121
  88. package/Build/Workers/createTaskProcessorWorker.js +32 -127
  89. package/Build/Workers/createVectorTileClampedPolylines.js +462 -505
  90. package/Build/Workers/createVectorTileGeometries.js +377 -436
  91. package/Build/Workers/createVectorTilePoints.js +110 -77
  92. package/Build/Workers/createVectorTilePolygons.js +369 -391
  93. package/Build/Workers/createVectorTilePolylines.js +252 -244
  94. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +543 -615
  95. package/Build/Workers/createVerticesFromHeightmap.js +2244 -2677
  96. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +682 -904
  97. package/Build/Workers/createWallGeometry.js +459 -593
  98. package/Build/Workers/createWallOutlineGeometry.js +324 -419
  99. package/Build/Workers/decodeDraco.js +327 -347
  100. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2530 -3567
  101. package/Build/Workers/decodeI3S.js +765 -970
  102. package/Build/Workers/transcodeKTX2.js +3353 -1464
  103. package/Build/Workers/transferTypedArrayTest.js +3 -4
  104. package/Build/Workers/upsampleQuantizedTerrainMesh.js +748 -953
  105. package/LICENSE.md +0 -12
  106. package/Source/Core/FeatureDetection.js +9 -0
  107. package/Source/Core/GoogleMaps.js +1 -1
  108. package/Source/Core/GroundPolylineGeometry.js +3 -2
  109. package/Source/Core/Ion.js +1 -1
  110. package/Source/Core/KTX2Transcoder.js +7 -3
  111. package/Source/Core/RequestScheduler.js +1 -0
  112. package/Source/Core/TaskProcessor.js +150 -146
  113. package/Source/Core/Transforms.js +2 -2
  114. package/Source/Core/buildModuleUrl.js +6 -5
  115. package/Source/DataSources/CzmlDataSource.js +6 -4
  116. package/Source/Scene/ArcGisMapService.js +1 -1
  117. package/Source/Scene/DracoLoader.js +26 -3
  118. package/Source/Scene/GltfLoaderUtil.js +1 -7
  119. package/Source/Scene/I3SDataProvider.js +0 -27
  120. package/Source/Scene/I3SDecoder.js +127 -0
  121. package/Source/Scene/I3SNode.js +32 -110
  122. package/Source/Scene/ImageryLayer.js +2 -2
  123. package/Source/Scene/Implicit3DTileContent.js +13 -0
  124. package/Source/Scene/ImplicitTileset.js +5 -0
  125. package/Source/Scene/Model/I3dmLoader.js +5 -1
  126. package/Source/Scene/Model/Model.js +4 -1
  127. package/Source/Scene/OpenStreetMapImageryProvider.js +7 -4
  128. package/Source/Scene/SingleTileImageryProvider.js +4 -2
  129. package/Source/ThirdParty/Workers/basis_transcoder.js +1 -1
  130. package/Source/{WorkersES6 → Workers}/createGeometry.js +11 -12
  131. package/Source/{WorkersES6 → Workers}/createTaskProcessorWorker.js +43 -59
  132. package/Source/{WorkersES6 → Workers}/decodeDraco.js +19 -25
  133. package/Source/{WorkersES6 → Workers}/decodeI3S.js +18 -32
  134. package/Source/{WorkersES6 → Workers}/transcodeKTX2.js +19 -26
  135. package/Source/Workers/transferTypedArrayTest.js +0 -6
  136. package/index.d.ts +20 -11
  137. package/index.js +170 -169
  138. package/package.json +3 -2
  139. package/Build/Workers/ArcType-2d9abbbc.js +0 -37
  140. package/Build/Workers/AttributeCompression-f9f6c717.js +0 -716
  141. package/Build/Workers/AxisAlignedBoundingBox-4bfd84f3.js +0 -258
  142. package/Build/Workers/BoundingRectangle-5fd6403a.js +0 -369
  143. package/Build/Workers/BoxGeometry-7aa4ce7f.js +0 -884
  144. package/Build/Workers/Check-6ede7e26.js +0 -290
  145. package/Build/Workers/Color-8e135f71.js +0 -2262
  146. package/Build/Workers/ComponentDatatype-cf1fa08e.js +0 -341
  147. package/Build/Workers/CoplanarPolygonGeometryLibrary-59c69b0a.js +0 -132
  148. package/Build/Workers/CorridorGeometryLibrary-63907365.js +0 -498
  149. package/Build/Workers/CylinderGeometry-8fc7c44b.js +0 -467
  150. package/Build/Workers/CylinderGeometryLibrary-7bf291b4.js +0 -63
  151. package/Build/Workers/EllipseGeometry-16b3736a.js +0 -1304
  152. package/Build/Workers/EllipseGeometryLibrary-21262a28.js +0 -366
  153. package/Build/Workers/EllipseOutlineGeometry-05d35d18.js +0 -443
  154. package/Build/Workers/EllipsoidGeodesic-5b3623dc.js +0 -520
  155. package/Build/Workers/EllipsoidGeometry-a503d1d6.js +0 -637
  156. package/Build/Workers/EllipsoidOutlineGeometry-7b09f24d.js +0 -454
  157. package/Build/Workers/EllipsoidRhumbLine-ef872433.js +0 -741
  158. package/Build/Workers/EllipsoidTangentPlane-546c0d5e.js +0 -373
  159. package/Build/Workers/EncodedCartesian3-57415c8a.js +0 -171
  160. package/Build/Workers/FrustumGeometry-87ce8622.js +0 -2540
  161. package/Build/Workers/GeometryAttribute-8fcff0d5.js +0 -619
  162. package/Build/Workers/GeometryAttributes-ad136444.js +0 -91
  163. package/Build/Workers/GeometryInstance-34d9e21e.js +0 -121
  164. package/Build/Workers/GeometryOffsetAttribute-9ad0019c.js +0 -16
  165. package/Build/Workers/GeometryPipeline-70d69a43.js +0 -3690
  166. package/Build/Workers/IndexDatatype-2643aa47.js +0 -200
  167. package/Build/Workers/IntersectionTests-85350792.js +0 -1836
  168. package/Build/Workers/Math-0a2ac845.js +0 -1340
  169. package/Build/Workers/Matrix2-e1298525.js +0 -7086
  170. package/Build/Workers/Matrix3-41c58dde.js +0 -4283
  171. package/Build/Workers/OrientedBoundingBox-29fb0fcd.js +0 -1259
  172. package/Build/Workers/Plane-4c3d403b.js +0 -309
  173. package/Build/Workers/PolygonGeometryLibrary-bad6329a.js +0 -1074
  174. package/Build/Workers/PolygonPipeline-dd13ee78.js +0 -1344
  175. package/Build/Workers/PolylinePipeline-7119eb3f.js +0 -573
  176. package/Build/Workers/PolylineVolumeGeometryLibrary-d25f0050.js +0 -781
  177. package/Build/Workers/PrimitivePipeline-111ee29f.js +0 -966
  178. package/Build/Workers/RectangleGeometryLibrary-bb378fb6.js +0 -280
  179. package/Build/Workers/RuntimeError-ef395448.js +0 -68
  180. package/Build/Workers/TerrainEncoding-c8e029a2.js +0 -1227
  181. package/Build/Workers/Transforms-e2d4a55a.js +0 -14713
  182. package/Build/Workers/VertexFormat-030f11ff.js +0 -312
  183. package/Build/Workers/WallGeometryLibrary-3e0819ec.js +0 -211
  184. package/Build/Workers/WebGLConstants-0b1ce7ba.js +0 -620
  185. package/Build/Workers/WebMercatorProjection-13ed1a6e.js +0 -151
  186. package/Build/Workers/arrayRemoveDuplicates-d2061e85.js +0 -129
  187. package/Build/Workers/cesiumWorkerBootstrapper.js +0 -1363
  188. package/Build/Workers/combine-d9581036.js +0 -82
  189. package/Build/Workers/defaultValue-fe22d8c0.js +0 -51
  190. package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +0 -117
  191. package/Source/Workers/cesiumWorkerBootstrapper.js +0 -2290
  192. package/Source/Workers/package.json +0 -1
  193. /package/Source/{WorkersES6 → Workers}/combineGeometry.js +0 -0
  194. /package/Source/{WorkersES6 → Workers}/createBoxGeometry.js +0 -0
  195. /package/Source/{WorkersES6 → Workers}/createBoxOutlineGeometry.js +0 -0
  196. /package/Source/{WorkersES6 → Workers}/createCircleGeometry.js +0 -0
  197. /package/Source/{WorkersES6 → Workers}/createCircleOutlineGeometry.js +0 -0
  198. /package/Source/{WorkersES6 → Workers}/createCoplanarPolygonGeometry.js +0 -0
  199. /package/Source/{WorkersES6 → Workers}/createCoplanarPolygonOutlineGeometry.js +0 -0
  200. /package/Source/{WorkersES6 → Workers}/createCorridorGeometry.js +0 -0
  201. /package/Source/{WorkersES6 → Workers}/createCorridorOutlineGeometry.js +0 -0
  202. /package/Source/{WorkersES6 → Workers}/createCylinderGeometry.js +0 -0
  203. /package/Source/{WorkersES6 → Workers}/createCylinderOutlineGeometry.js +0 -0
  204. /package/Source/{WorkersES6 → Workers}/createEllipseGeometry.js +0 -0
  205. /package/Source/{WorkersES6 → Workers}/createEllipseOutlineGeometry.js +0 -0
  206. /package/Source/{WorkersES6 → Workers}/createEllipsoidGeometry.js +0 -0
  207. /package/Source/{WorkersES6 → Workers}/createEllipsoidOutlineGeometry.js +0 -0
  208. /package/Source/{WorkersES6 → Workers}/createFrustumGeometry.js +0 -0
  209. /package/Source/{WorkersES6 → Workers}/createFrustumOutlineGeometry.js +0 -0
  210. /package/Source/{WorkersES6 → Workers}/createGroundPolylineGeometry.js +0 -0
  211. /package/Source/{WorkersES6 → Workers}/createPlaneGeometry.js +0 -0
  212. /package/Source/{WorkersES6 → Workers}/createPlaneOutlineGeometry.js +0 -0
  213. /package/Source/{WorkersES6 → Workers}/createPolygonGeometry.js +0 -0
  214. /package/Source/{WorkersES6 → Workers}/createPolygonOutlineGeometry.js +0 -0
  215. /package/Source/{WorkersES6 → Workers}/createPolylineGeometry.js +0 -0
  216. /package/Source/{WorkersES6 → Workers}/createPolylineVolumeGeometry.js +0 -0
  217. /package/Source/{WorkersES6 → Workers}/createPolylineVolumeOutlineGeometry.js +0 -0
  218. /package/Source/{WorkersES6 → Workers}/createRectangleGeometry.js +0 -0
  219. /package/Source/{WorkersES6 → Workers}/createRectangleOutlineGeometry.js +0 -0
  220. /package/Source/{WorkersES6 → Workers}/createSimplePolylineGeometry.js +0 -0
  221. /package/Source/{WorkersES6 → Workers}/createSphereGeometry.js +0 -0
  222. /package/Source/{WorkersES6 → Workers}/createSphereOutlineGeometry.js +0 -0
  223. /package/Source/{WorkersES6 → Workers}/createVectorTileClampedPolylines.js +0 -0
  224. /package/Source/{WorkersES6 → Workers}/createVectorTileGeometries.js +0 -0
  225. /package/Source/{WorkersES6 → Workers}/createVectorTilePoints.js +0 -0
  226. /package/Source/{WorkersES6 → Workers}/createVectorTilePolygons.js +0 -0
  227. /package/Source/{WorkersES6 → Workers}/createVectorTilePolylines.js +0 -0
  228. /package/Source/{WorkersES6 → Workers}/createVerticesFromGoogleEarthEnterpriseBuffer.js +0 -0
  229. /package/Source/{WorkersES6 → Workers}/createVerticesFromHeightmap.js +0 -0
  230. /package/Source/{WorkersES6 → Workers}/createVerticesFromQuantizedTerrainMesh.js +0 -0
  231. /package/Source/{WorkersES6 → Workers}/createWallGeometry.js +0 -0
  232. /package/Source/{WorkersES6 → Workers}/createWallOutlineGeometry.js +0 -0
  233. /package/Source/{WorkersES6 → Workers}/decodeGoogleEarthEnterprisePacket.js +0 -0
  234. /package/Source/{WorkersES6 → Workers}/upsampleQuantizedTerrainMesh.js +0 -0
@@ -1,4 +1,3 @@
1
- /* global require */
2
1
  import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
3
2
  import defined from "../Core/defined.js";
4
3
  import WebMercatorProjection from "../Core/WebMercatorProjection.js";
@@ -7,6 +6,7 @@ import Cartographic from "../Core/Cartographic.js";
7
6
  import Cartesian3 from "../Core/Cartesian3.js";
8
7
  import Matrix3 from "../Core/Matrix3.js";
9
8
  import CesiumMath from "../Core/Math.js";
9
+ import dracoModule from "draco3d/draco_decoder_nodejs.js";
10
10
 
11
11
  let draco;
12
12
 
@@ -171,7 +171,6 @@ function transformToLocal(
171
171
  const rotatedNormal = {};
172
172
  Matrix3.multiplyByVector(parentRotation, normal, rotatedNormal);
173
173
 
174
- // TODO: check if normals are Z-UP or Y-UP and flip y and z
175
174
  normals[indexOffset] = rotatedNormal.x;
176
175
  normals[indexOffset1] = rotatedNormal.y;
177
176
  normals[indexOffset2] = rotatedNormal.z;
@@ -890,17 +889,11 @@ function decodeBinaryGeometry(data, schema, bufferInfo, featureData) {
890
889
  // Use default geometry schema
891
890
  for (let i = 0; i < ordering.length; i++) {
892
891
  const decoder = binaryAttributeDecoders[ordering[i]];
893
- if (!defined(decoder)) {
894
- console.log(ordering[i]);
895
- }
896
892
  offset = decoder(decodedGeometry, data, offset);
897
893
  }
898
894
 
899
895
  for (let j = 0; j < featureAttributeOrder.length; j++) {
900
896
  const curDecoder = binaryAttributeDecoders[featureAttributeOrder[j]];
901
- if (!defined(curDecoder)) {
902
- console.log(featureAttributeOrder[j]);
903
- }
904
897
  offset = curDecoder(decodedGeometry, data, offset);
905
898
  }
906
899
  }
@@ -914,7 +907,7 @@ function decodeBinaryGeometry(data, schema, bufferInfo, featureData) {
914
907
  return decodedGeometry;
915
908
  }
916
909
 
917
- function decodeI3S(parameters) {
910
+ function decodeAndCreateGltf(parameters) {
918
911
  // Decode the data into geometry
919
912
  const geometryData = decode(
920
913
  parameters.binaryData,
@@ -1012,33 +1005,26 @@ function decodeI3S(parameters) {
1012
1005
  return results;
1013
1006
  }
1014
1007
 
1015
- function initWorker(dracoModule) {
1016
- draco = dracoModule;
1017
- self.onmessage = createTaskProcessorWorker(decodeI3S);
1018
- self.postMessage(true);
1019
- }
1008
+ async function initWorker(parameters, transferableObjects) {
1009
+ // Require and compile WebAssembly module, or use fallback if not supported
1010
+ const wasmConfig = parameters.webAssemblyConfig;
1011
+ if (defined(wasmConfig) && defined(wasmConfig.wasmBinaryFile)) {
1012
+ draco = await dracoModule(wasmConfig);
1013
+ } else {
1014
+ draco = await dracoModule();
1015
+ }
1020
1016
 
1021
- function decodeI3SStart(event) {
1022
- const data = event.data;
1017
+ return true;
1018
+ }
1023
1019
 
1020
+ function decodeI3S(parameters, transferableObjects) {
1024
1021
  // Expect the first message to be to load a web assembly module
1025
- const wasmConfig = data.webAssemblyConfig;
1022
+ const wasmConfig = parameters.webAssemblyConfig;
1026
1023
  if (defined(wasmConfig)) {
1027
- // Require and compile WebAssembly module, or use fallback if not supported
1028
- return require([wasmConfig.modulePath], function (dracoModule) {
1029
- if (defined(wasmConfig.wasmBinaryFile)) {
1030
- if (!defined(dracoModule)) {
1031
- dracoModule = self.DracoDecoderModule;
1032
- }
1033
-
1034
- dracoModule(wasmConfig).then(function (compiledModule) {
1035
- initWorker(compiledModule);
1036
- });
1037
- } else {
1038
- initWorker(dracoModule());
1039
- }
1040
- });
1024
+ return initWorker(parameters, transferableObjects);
1041
1025
  }
1026
+
1027
+ return decodeAndCreateGltf(parameters, transferableObjects);
1042
1028
  }
1043
1029
 
1044
- export default decodeI3SStart;
1030
+ export default createTaskProcessorWorker(decodeI3S);
@@ -1,4 +1,4 @@
1
- /* global require */
1
+ import defaultValue from "../Core/defaultValue.js";
2
2
  import defined from "../Core/defined.js";
3
3
  import Check from "../Core/Check.js";
4
4
  import PixelFormat from "../Core/PixelFormat.js";
@@ -7,6 +7,7 @@ import VulkanConstants from "../Core//VulkanConstants.js";
7
7
  import PixelDatatype from "../Renderer/PixelDatatype.js";
8
8
  import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
9
9
  import { read } from "ktx-parse";
10
+ import basis from "../ThirdParty/Workers/basis_transcoder.js";
10
11
 
11
12
  const faceOrder = [
12
13
  "positiveX",
@@ -281,36 +282,28 @@ function transcodeCompressed(
281
282
  return result;
282
283
  }
283
284
 
284
- function initWorker(compiledModule) {
285
- transcoderModule = compiledModule;
285
+ async function initWorker(parameters, transferableObjects) {
286
+ // Require and compile WebAssembly module, or use fallback if not supported
287
+ const wasmConfig = parameters.webAssemblyConfig;
288
+ const basisTranscoder = defaultValue(basis, self.BASIS);
289
+ if (defined(wasmConfig.wasmBinaryFile)) {
290
+ transcoderModule = await basisTranscoder(wasmConfig);
291
+ } else {
292
+ transcoderModule = await basisTranscoder();
293
+ }
294
+
286
295
  transcoderModule.initializeBasis();
287
296
 
288
- self.onmessage = createTaskProcessorWorker(transcode);
289
- self.postMessage(true);
297
+ return true;
290
298
  }
291
299
 
292
- function transcodeKTX2(event) {
293
- const data = event.data;
294
-
300
+ function transcodeKTX2(parameters, transferableObjects) {
295
301
  // Expect the first message to be to load a web assembly module
296
- const wasmConfig = data.webAssemblyConfig;
302
+ const wasmConfig = parameters.webAssemblyConfig;
297
303
  if (defined(wasmConfig)) {
298
- // Require and compile WebAssembly module, or use fallback if not supported
299
- return require([wasmConfig.modulePath], function (mscBasisTranscoder) {
300
- if (defined(wasmConfig.wasmBinaryFile)) {
301
- if (!defined(mscBasisTranscoder)) {
302
- mscBasisTranscoder = self.MSC_TRANSCODER;
303
- }
304
-
305
- mscBasisTranscoder(wasmConfig).then(function (compiledModule) {
306
- initWorker(compiledModule);
307
- });
308
- } else {
309
- return mscBasisTranscoder().then(function (transcoder) {
310
- initWorker(transcoder);
311
- });
312
- }
313
- });
304
+ return initWorker(parameters, transferableObjects);
314
305
  }
306
+
307
+ return transcode(parameters, transferableObjects);
315
308
  }
316
- export default transcodeKTX2;
309
+ export default createTaskProcessorWorker(transcodeKTX2);
@@ -1,9 +1,3 @@
1
- // make sure self is defined so that the Dojo build can evaluate this file without crashing.
2
- if (typeof self === "undefined") {
3
- //eslint-disable-next-line no-implicit-globals, no-global-assign
4
- self = {};
5
- }
6
-
7
1
  self.onmessage = function (event) {
8
2
  const array = event.data.array;
9
3
  const postMessage = self.webkitPostMessage || self.postMessage;
package/index.d.ts CHANGED
@@ -6405,6 +6405,11 @@ export namespace FeatureDetection {
6405
6405
  * @returns true if the browser supports a WebGL2 rendering context, false if not.
6406
6406
  */
6407
6407
  function supportsWebgl2(scene: Scene): boolean;
6408
+ /**
6409
+ * Detects whether the current browser supports ECMAScript modules in web workers.
6410
+ * @returns true if the browser supports ECMAScript modules in web workers.
6411
+ */
6412
+ function supportsEsmWebWorkers(): boolean;
6408
6413
  }
6409
6414
 
6410
6415
  /**
@@ -16120,7 +16125,7 @@ export class TaskProcessor {
16120
16125
  scheduleTask(parameters: any, transferableObjects?: object[]): Promise<object> | undefined;
16121
16126
  /**
16122
16127
  * Posts a message to a web worker with configuration to initialize loading
16123
- * and compiling a web assembly module asychronously, as well as an optional
16128
+ * and compiling a web assembly module asynchronously, as well as an optional
16124
16129
  * fallback JavaScript module to use if Web Assembly is not supported.
16125
16130
  * @param [webAssemblyOptions] - An object with the following properties:
16126
16131
  * @param [webAssemblyOptions.modulePath] - The path of the web assembly JavaScript wrapper module.
@@ -16132,7 +16137,7 @@ export class TaskProcessor {
16132
16137
  modulePath?: string;
16133
16138
  wasmBinaryFile?: string;
16134
16139
  fallbackModulePath?: string;
16135
- }): Promise<object>;
16140
+ }): Promise<any>;
16136
16141
  /**
16137
16142
  * Returns true if this object was destroyed; otherwise, false.
16138
16143
  * <br /><br />
@@ -17183,10 +17188,10 @@ export namespace Transforms {
17183
17188
  * at a given time. This function may return undefined if the data necessary to
17184
17189
  * do the transformation is not yet loaded.
17185
17190
  * @example
17186
- * // Transform a point from the ICRF axes to the Fixed axes.
17191
+ * // Transform a point from the Fixed axes to the ICRF axes.
17187
17192
  * const now = Cesium.JulianDate.now();
17188
17193
  * const pointInFixed = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
17189
- * const fixedToIcrf = Cesium.Transforms.computeIcrfToFixedMatrix(now);
17194
+ * const fixedToIcrf = Cesium.Transforms.computeFixedToIcrfMatrix(now);
17190
17195
  * let pointInInertial = new Cesium.Cartesian3();
17191
17196
  * if (Cesium.defined(fixedToIcrf)) {
17192
17197
  * pointInInertial = Cesium.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial);
@@ -32913,8 +32918,8 @@ export namespace ImageryLayer {
32913
32918
  * on a {@link Globe}.
32914
32919
  * @example
32915
32920
  * // Add an OpenStreetMaps layer
32916
- * const imageryLayer = new Cesium.ImageryLayer(OpenStreetMapImageryProvider({
32917
- * url: "https://a.tile.openstreetmap.org/"
32921
+ * const imageryLayer = new Cesium.ImageryLayer(new Cesium.OpenStreetMapImageryProvider({
32922
+ * url: "https://tile.openstreetmap.org/"
32918
32923
  * })),
32919
32924
  * scene.imageryLayers.add(imageryLayer);
32920
32925
  * @example
@@ -36817,8 +36822,9 @@ export class NeverTileDiscardPolicy {
36817
36822
  export namespace OpenStreetMapImageryProvider {
36818
36823
  /**
36819
36824
  * Initialization options for the OpenStreetMapImageryProvider constructor
36820
- * @property [url = 'https://a.tile.openstreetmap.org'] - The OpenStreetMap server url.
36825
+ * @property [url = 'https://tile.openstreetmap.org'] - The OpenStreetMap server url.
36821
36826
  * @property [fileExtension = 'png'] - The file extension for images on the server.
36827
+ * @property [retinaTiles = false] - When true, request tiles at the 2x resolution for retina displays.
36822
36828
  * @property [rectangle = Rectangle.MAX_VALUE] - The rectangle of the layer.
36823
36829
  * @property [minimumLevel = 0] - The minimum level-of-detail supported by the imagery provider.
36824
36830
  * @property [maximumLevel] - The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit.
@@ -36828,6 +36834,7 @@ export namespace OpenStreetMapImageryProvider {
36828
36834
  type ConstructorOptions = {
36829
36835
  url?: string;
36830
36836
  fileExtension?: string;
36837
+ retinaTiles?: boolean;
36831
36838
  rectangle?: Rectangle;
36832
36839
  minimumLevel?: number;
36833
36840
  maximumLevel?: number;
@@ -36843,7 +36850,7 @@ export namespace OpenStreetMapImageryProvider {
36843
36850
  * {@link http://wiki.openstreetmap.org/wiki/Tile_usage_policy|Tile Usage Policy}.
36844
36851
  * @example
36845
36852
  * const osm = new Cesium.OpenStreetMapImageryProvider({
36846
- * url : 'https://a.tile.openstreetmap.org/'
36853
+ * url : 'https://tile.openstreetmap.org/'
36847
36854
  * });
36848
36855
  * @param options - Object describing initialization options
36849
36856
  */
@@ -40102,8 +40109,9 @@ export namespace SingleTileImageryProvider {
40102
40109
  }
40103
40110
 
40104
40111
  /**
40105
- * Provides a single, top-level imagery tile. The single image is assumed to use a
40106
- * {@link GeographicTilingScheme}.
40112
+ * Provides a single, top-level imagery tile. The single image is assumed to be in
40113
+ * the Geographic projection (i.e. WGS84 / EPSG:4326),
40114
+ * and will be rendered using a {@link GeographicTilingScheme}.
40107
40115
  * @param options - Object describing initialization options
40108
40116
  */
40109
40117
  export class SingleTileImageryProvider {
@@ -40171,8 +40179,9 @@ export class SingleTileImageryProvider {
40171
40179
  * const provider = await SingleTileImageryProvider.fromUrl("https://yoururl.com/image.png");
40172
40180
  * @param url - The url for the tile
40173
40181
  * @param [options] - Object describing initialization options.
40182
+ * @returns The resolved SingleTileImageryProvider.
40174
40183
  */
40175
- static fromUrl(url: Resource | string, options?: SingleTileImageryProvider.fromUrlOptions): void;
40184
+ static fromUrl(url: Resource | string, options?: SingleTileImageryProvider.fromUrlOptions): Promise<SingleTileImageryProvider>;
40176
40185
  /**
40177
40186
  * Gets the credits to be displayed when a given tile is displayed.
40178
40187
  * @param x - The tile X coordinate.