@cesium/engine 17.0.0 → 18.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 (150) hide show
  1. package/Build/ThirdParty/Workers/z-worker-pako.js +1 -1
  2. package/Build/Workers/{chunk-4TIR5UPL.js → chunk-2AXPWBJG.js} +1 -1
  3. package/Build/Workers/{chunk-CAKU6ZPR.js → chunk-2CAYUY2B.js} +8 -8
  4. package/Build/Workers/{chunk-PS3OKVOQ.js → chunk-2NKHPWDY.js} +12 -12
  5. package/Build/Workers/{chunk-VXAKU6EV.js → chunk-2QNKQVUT.js} +5 -5
  6. package/Build/Workers/{chunk-ZTBZMRQT.js → chunk-3RKVDGRF.js} +8 -8
  7. package/Build/Workers/{chunk-J2HTPGC7.js → chunk-4DSTDGY3.js} +2 -2
  8. package/Build/Workers/{chunk-P2N5IDWU.js → chunk-4MIY63FM.js} +13 -13
  9. package/Build/Workers/{chunk-XYGBWBD5.js → chunk-5OL6XFNS.js} +1 -1
  10. package/Build/Workers/{chunk-E7SMO47Q.js → chunk-5WVF4BK7.js} +5 -5
  11. package/Build/Workers/{chunk-SQKTLDSD.js → chunk-AEGAQ6FD.js} +12 -12
  12. package/Build/Workers/{chunk-4BGKMM7J.js → chunk-CES6DHHV.js} +1 -1
  13. package/Build/Workers/{chunk-MAIKDIBS.js → chunk-DINSLSJD.js} +6 -6
  14. package/Build/Workers/{chunk-G6JUXZUO.js → chunk-EHB2OCQX.js} +4 -4
  15. package/Build/Workers/{chunk-SSLK4U3V.js → chunk-EXEZHW3P.js} +4 -4
  16. package/Build/Workers/{chunk-236N6BJN.js → chunk-F4ZAKN4V.js} +2 -2
  17. package/Build/Workers/{chunk-HBNWBMAM.js → chunk-FPYBD2P5.js} +1 -1
  18. package/Build/Workers/{chunk-5PC577K7.js → chunk-GAUF4F5A.js} +16 -16
  19. package/Build/Workers/{chunk-YE6MDFDA.js → chunk-GM55YFOB.js} +14 -14
  20. package/Build/Workers/{chunk-HGEGZ67N.js → chunk-GS55WTRX.js} +6 -6
  21. package/Build/Workers/{chunk-LPGOAMYH.js → chunk-HQE7KSR4.js} +2 -2
  22. package/Build/Workers/{chunk-IFIS4CVK.js → chunk-HS76VTVY.js} +2 -2
  23. package/Build/Workers/{chunk-7IIMO7ZZ.js → chunk-I3BAKR4S.js} +16 -16
  24. package/Build/Workers/{chunk-PM4Q36WX.js → chunk-IWGMVQGG.js} +9 -9
  25. package/Build/Workers/{chunk-UFV3YUIN.js → chunk-IWZK2AIH.js} +5 -5
  26. package/Build/Workers/{chunk-QJTIOB2Z.js → chunk-J4MAVE6J.js} +6 -6
  27. package/Build/Workers/{chunk-RX65FA7X.js → chunk-JF4IYQYC.js} +7 -7
  28. package/Build/Workers/{chunk-7PHT4JHA.js → chunk-KGXTCGX3.js} +12 -12
  29. package/Build/Workers/{chunk-K5JTWJPE.js → chunk-KNA65INJ.js} +4 -4
  30. package/Build/Workers/{chunk-CBFJVM6I.js → chunk-LIPZUYNR.js} +11 -11
  31. package/Build/Workers/{chunk-C5DCX2YQ.js → chunk-LWJWWCZ4.js} +6 -6
  32. package/Build/Workers/{chunk-KE45DUDH.js → chunk-LZFUG3GO.js} +10 -10
  33. package/Build/Workers/{chunk-P57PR3WM.js → chunk-MFGVMUN3.js} +5 -5
  34. package/Build/Workers/{chunk-QUFN3GEO.js → chunk-NR7KSD56.js} +3 -3
  35. package/Build/Workers/{chunk-MS5NWDHH.js → chunk-NVJ5JRIM.js} +2 -2
  36. package/Build/Workers/{chunk-CQMXZF4A.js → chunk-NWSAYFZG.js} +6 -6
  37. package/Build/Workers/{chunk-5YEFZMMM.js → chunk-OATG6PKE.js} +12 -12
  38. package/Build/Workers/{chunk-UX5JWAC7.js → chunk-OIHAAHBK.js} +10 -10
  39. package/Build/Workers/{chunk-DRMXU674.js → chunk-QN7JEOQV.js} +5 -5
  40. package/Build/Workers/{chunk-77MDEA47.js → chunk-QUSP3NWA.js} +5 -5
  41. package/Build/Workers/{chunk-GO3RZX2R.js → chunk-RWFYLWSF.js} +9 -9
  42. package/Build/Workers/{chunk-UZ6KXWCA.js → chunk-SIOVJ4L5.js} +4 -4
  43. package/Build/Workers/{chunk-OBHLT34A.js → chunk-T6B6H3GR.js} +7 -7
  44. package/Build/Workers/{chunk-IKDQX7DY.js → chunk-UK33ZN4K.js} +4 -4
  45. package/Build/Workers/{chunk-2BJXFXD7.js → chunk-VGJSKEIB.js} +4 -4
  46. package/Build/Workers/{chunk-5RPUEFSA.js → chunk-W6CPO62M.js} +6 -6
  47. package/Build/Workers/{chunk-37PA7GZW.js → chunk-WGHUCZMX.js} +7 -7
  48. package/Build/Workers/{chunk-UC7KH56Y.js → chunk-WTFZHPUW.js} +5 -5
  49. package/Build/Workers/{chunk-NZSBSY5K.js → chunk-WYCR5DWQ.js} +2 -2
  50. package/Build/Workers/{chunk-WP3IJYLC.js → chunk-YV37YFUM.js} +9 -9
  51. package/Build/Workers/{chunk-LVGYWPEX.js → chunk-ZADJ6FRX.js} +4 -4
  52. package/Build/Workers/{chunk-CC2WKHIW.js → chunk-ZIP27IX6.js} +6 -6
  53. package/Build/Workers/combineGeometry.js +21 -21
  54. package/Build/Workers/createBoxGeometry.js +15 -15
  55. package/Build/Workers/createBoxOutlineGeometry.js +13 -13
  56. package/Build/Workers/createCircleGeometry.js +23 -23
  57. package/Build/Workers/createCircleOutlineGeometry.js +16 -16
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +30 -30
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +28 -28
  60. package/Build/Workers/createCorridorGeometry.js +26 -26
  61. package/Build/Workers/createCorridorOutlineGeometry.js +25 -25
  62. package/Build/Workers/createCylinderGeometry.js +17 -17
  63. package/Build/Workers/createCylinderOutlineGeometry.js +15 -15
  64. package/Build/Workers/createEllipseGeometry.js +23 -23
  65. package/Build/Workers/createEllipseOutlineGeometry.js +16 -16
  66. package/Build/Workers/createEllipsoidGeometry.js +16 -16
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -15
  68. package/Build/Workers/createFrustumGeometry.js +15 -15
  69. package/Build/Workers/createFrustumOutlineGeometry.js +15 -15
  70. package/Build/Workers/createGeometry.js +21 -21
  71. package/Build/Workers/createGroundPolylineGeometry.js +19 -19
  72. package/Build/Workers/createPlaneGeometry.js +13 -13
  73. package/Build/Workers/createPlaneOutlineGeometry.js +12 -12
  74. package/Build/Workers/createPolygonGeometry.js +29 -29
  75. package/Build/Workers/createPolygonOutlineGeometry.js +27 -27
  76. package/Build/Workers/createPolylineGeometry.js +22 -22
  77. package/Build/Workers/createPolylineVolumeGeometry.js +28 -28
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +24 -24
  79. package/Build/Workers/createRectangleGeometry.js +24 -24
  80. package/Build/Workers/createRectangleOutlineGeometry.js +17 -17
  81. package/Build/Workers/createSimplePolylineGeometry.js +20 -20
  82. package/Build/Workers/createSphereGeometry.js +16 -16
  83. package/Build/Workers/createSphereOutlineGeometry.js +15 -15
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +12 -12
  86. package/Build/Workers/createVectorTileGeometries.js +21 -21
  87. package/Build/Workers/createVectorTilePoints.js +11 -11
  88. package/Build/Workers/createVectorTilePolygons.js +19 -19
  89. package/Build/Workers/createVectorTilePolylines.js +12 -12
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +19 -19
  91. package/Build/Workers/createVerticesFromHeightmap.js +19 -19
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +16 -16
  93. package/Build/Workers/createWallGeometry.js +21 -21
  94. package/Build/Workers/createWallOutlineGeometry.js +20 -20
  95. package/Build/Workers/decodeDraco.js +10 -10
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  97. package/Build/Workers/decodeI3S.js +9 -9
  98. package/Build/Workers/transcodeKTX2.js +25 -6
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -19
  101. package/Source/Core/Ion.js +1 -1
  102. package/Source/Core/PixelFormat.js +36 -0
  103. package/Source/Renderer/Texture3D.js +568 -0
  104. package/Source/Renderer/createUniform.js +1 -0
  105. package/Source/Renderer/createUniformArray.js +1 -0
  106. package/Source/Scene/ArcGisMapService.js +1 -1
  107. package/Source/Scene/Cesium3DTileset.js +138 -0
  108. package/Source/Scene/GlobeSurfaceShaderSet.js +4 -5
  109. package/Source/Scene/ImageryLayer.js +19 -4
  110. package/Source/Scene/ImageryLayerCollection.js +3 -2
  111. package/Source/Scene/Model/CartesianRectangle.js +108 -0
  112. package/Source/Scene/Model/ImageryConfiguration.js +25 -0
  113. package/Source/Scene/Model/ImageryCoverage.js +488 -0
  114. package/Source/Scene/Model/ImageryFlags.js +31 -0
  115. package/Source/Scene/Model/ImageryInput.js +60 -0
  116. package/Source/Scene/Model/ImageryPipelineStage.js +1040 -0
  117. package/Source/Scene/Model/MappedPositions.js +84 -0
  118. package/Source/Scene/Model/Model.js +38 -0
  119. package/Source/Scene/Model/ModelImagery.js +403 -0
  120. package/Source/Scene/Model/ModelImageryMapping.js +489 -0
  121. package/Source/Scene/Model/ModelPrimitiveImagery.js +972 -0
  122. package/Source/Scene/Model/ModelReader.js +810 -0
  123. package/Source/Scene/Model/ModelRenderResources.js +13 -0
  124. package/Source/Scene/Model/ModelRuntimePrimitive.js +19 -0
  125. package/Source/Scene/Model/ModelSceneGraph.js +133 -27
  126. package/Source/Scene/Model/NodeRenderResources.js +10 -0
  127. package/Source/Scene/ModelComponents.js +10 -0
  128. package/Source/Scene/VoxelPrimitive.js +22 -37
  129. package/Source/Scene/VoxelRenderResources.js +1 -1
  130. package/Source/Scene/processVoxelProperties.js +41 -100
  131. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +0 -1
  132. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +0 -1
  133. package/Source/Shaders/GlobeFS.glsl +22 -0
  134. package/Source/Shaders/GlobeFS.js +22 -0
  135. package/Source/Shaders/Model/MaterialStageFS.glsl +4 -0
  136. package/Source/Shaders/Model/MaterialStageFS.js +4 -0
  137. package/Source/Shaders/Model/ModelVS.glsl +4 -0
  138. package/Source/Shaders/Model/ModelVS.js +4 -0
  139. package/Source/Shaders/Voxels/IntersectDepth.glsl +10 -3
  140. package/Source/Shaders/Voxels/IntersectDepth.js +10 -3
  141. package/Source/Shaders/Voxels/Intersection.glsl +1 -3
  142. package/Source/Shaders/Voxels/Intersection.js +1 -3
  143. package/Source/Shaders/Voxels/IntersectionUtils.glsl +1 -0
  144. package/Source/Shaders/Voxels/IntersectionUtils.js +1 -0
  145. package/Source/Shaders/Voxels/VoxelFS.glsl +37 -24
  146. package/Source/Shaders/Voxels/VoxelFS.js +37 -24
  147. package/Source/ThirdParty/Workers/z-worker-pako.js +1 -1
  148. package/index.d.ts +50 -2
  149. package/index.js +100 -88
  150. package/package.json +3 -3
@@ -16,8 +16,10 @@ export default "// See Intersection.glsl for the definition of intersectScene\n\
16
16
  #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0\n\
17
17
  #endif\n\
18
18
  \n\
19
+ uniform mat4 u_transformPositionUvToView;\n\
19
20
  uniform mat3 u_transformDirectionViewToLocal;\n\
20
21
  uniform vec3 u_cameraPositionUv;\n\
22
+ uniform vec3 u_cameraDirectionUv;\n\
21
23
  uniform float u_stepSize;\n\
22
24
  \n\
23
25
  #if defined(PICKING)\n\
@@ -112,26 +114,38 @@ int getSampleIndex(in SampleData sampleData) {\n\
112
114
  return sampleIndex.x + u_inputDimensions.x * (sampleIndex.y + u_inputDimensions.y * sampleIndex.z);\n\
113
115
  }\n\
114
116
  \n\
115
- void main()\n\
116
- {\n\
117
- vec4 fragCoord = gl_FragCoord;\n\
118
- vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1]\n\
119
- vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz);\n\
120
- vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case\n\
121
- vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case\n\
122
- vec3 viewPosUv = u_cameraPositionUv;\n\
117
+ /**\n\
118
+ * Compute the view ray at the current fragment, in the local UV coordinates of the shape.\n\
119
+ */\n\
120
+ Ray getViewRayUv() {\n\
121
+ vec4 eyeCoordinates = czm_windowToEyeCoordinates(gl_FragCoord);\n\
122
+ vec3 viewDirUv;\n\
123
+ vec3 viewPosUv;\n\
124
+ if (czm_orthographicIn3D == 1.0) {\n\
125
+ eyeCoordinates.z = 0.0;\n\
126
+ viewPosUv = (u_transformPositionViewToUv * eyeCoordinates).xyz;\n\
127
+ viewDirUv = normalize(u_cameraDirectionUv);\n\
128
+ } else {\n\
129
+ viewPosUv = u_cameraPositionUv;\n\
130
+ viewDirUv = normalize(u_transformDirectionViewToLocal * eyeCoordinates.xyz);\n\
131
+ }\n\
123
132
  #if defined(SHAPE_ELLIPSOID)\n\
124
133
  // viewDirUv has been scaled to a space where the ellipsoid is a sphere.\n\
125
134
  // Undo this scaling to get the raw direction.\n\
126
135
  vec3 rawDir = viewDirUv * u_ellipsoidRadiiUv;\n\
127
- Ray viewRayUv = Ray(viewPosUv, viewDirUv, rawDir);\n\
136
+ return Ray(viewPosUv, viewDirUv, rawDir);\n\
128
137
  #else\n\
129
- Ray viewRayUv = Ray(viewPosUv, viewDirUv, viewDirUv);\n\
138
+ return Ray(viewPosUv, viewDirUv, viewDirUv);\n\
130
139
  #endif\n\
140
+ }\n\
141
+ \n\
142
+ void main()\n\
143
+ {\n\
144
+ Ray viewRayUv = getViewRayUv();\n\
131
145
  \n\
132
146
  Intersections ix;\n\
147
+ vec2 screenCoord = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1]\n\
133
148
  RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix);\n\
134
- \n\
135
149
  // Exit early if the scene was completely missed.\n\
136
150
  if (shapeIntersection.entry.w == NO_HIT) {\n\
137
151
  discard;\n\
@@ -139,7 +153,7 @@ void main()\n\
139
153
  \n\
140
154
  float currentT = shapeIntersection.entry.w;\n\
141
155
  float endT = shapeIntersection.exit.w;\n\
142
- vec3 positionUv = viewPosUv + currentT * viewDirUv;\n\
156
+ vec3 positionUv = viewRayUv.pos + currentT * viewRayUv.dir;\n\
143
157
  PointJacobianT pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv);\n\
144
158
  \n\
145
159
  // Traverse the tree from the start position\n\
@@ -151,14 +165,15 @@ void main()\n\
151
165
  #if defined(JITTER)\n\
152
166
  float noise = hash(screenCoord); // [0,1]\n\
153
167
  currentT += noise * step.w;\n\
154
- positionUv += noise * step.w * viewDirUv;\n\
168
+ positionUv += noise * step.w * viewRayUv.dir;\n\
155
169
  #endif\n\
156
170
  \n\
157
171
  FragmentInput fragmentInput;\n\
158
172
  #if defined(STATISTICS)\n\
159
- setStatistics(fragmentInput.metadata.statistics);\n\
173
+ setStatistics(fragmentInput.metadataStatistics);\n\
160
174
  #endif\n\
161
175
  \n\
176
+ czm_modelMaterial materialOutput;\n\
162
177
  vec4 colorAccum = vec4(0.0);\n\
163
178
  \n\
164
179
  for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) {\n\
@@ -167,19 +182,19 @@ void main()\n\
167
182
  \n\
168
183
  // Prepare the custom shader inputs\n\
169
184
  copyPropertiesToMetadata(properties, fragmentInput.metadata);\n\
170
- fragmentInput.voxel.positionUv = positionUv;\n\
171
- fragmentInput.voxel.positionShapeUv = pointJacobian.point;\n\
172
- fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv;\n\
173
- fragmentInput.voxel.viewDirUv = viewDirUv;\n\
174
- fragmentInput.voxel.viewDirWorld = viewDirWorld;\n\
175
- fragmentInput.voxel.surfaceNormal = step.xyz;\n\
185
+ \n\
186
+ fragmentInput.attributes.positionEC = vec3(u_transformPositionUvToView * vec4(positionUv, 1.0));\n\
187
+ fragmentInput.attributes.normalEC = normalize(czm_normal * step.xyz);\n\
188
+ \n\
189
+ fragmentInput.voxel.viewDirUv = viewRayUv.dir;\n\
190
+ \n\
176
191
  fragmentInput.voxel.travelDistance = step.w;\n\
177
192
  fragmentInput.voxel.stepCount = stepCount;\n\
178
193
  fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex;\n\
179
194
  fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0]);\n\
195
+ fragmentInput.voxel.distanceToDepthBuffer = ix.distanceToDepthBuffer - currentT;\n\
180
196
  \n\
181
197
  // Run the custom shader\n\
182
- czm_modelMaterial materialOutput;\n\
183
198
  fragmentMain(fragmentInput, materialOutput);\n\
184
199
  \n\
185
200
  // Sanitize the custom shader output\n\
@@ -204,8 +219,6 @@ void main()\n\
204
219
  \n\
205
220
  // Keep raymarching\n\
206
221
  currentT += step.w;\n\
207
- positionUv = viewPosUv + currentT * viewDirUv;\n\
208
- \n\
209
222
  // Check if there's more intersections.\n\
210
223
  if (currentT > endT) {\n\
211
224
  #if (INTERSECTION_COUNT == 1)\n\
@@ -218,10 +231,10 @@ void main()\n\
218
231
  // Found another intersection. Resume raymarching there\n\
219
232
  currentT = shapeIntersection.entry.w;\n\
220
233
  endT = shapeIntersection.exit.w;\n\
221
- positionUv = viewPosUv + currentT * viewDirUv;\n\
222
234
  }\n\
223
235
  #endif\n\
224
236
  }\n\
237
+ positionUv = viewRayUv.pos + currentT * viewRayUv.dir;\n\
225
238
  \n\
226
239
  // Traverse the tree from the current ray position.\n\
227
240
  // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step.\n\
@@ -1 +1 @@
1
- !function(){"use strict";const{Array:e,Object:t,Number:n,Math:s,Error:r,Uint8Array:a,Uint16Array:o,Uint32Array:i,Int32Array:c,Map:l,DataView:u,Promise:h,TextEncoder:f,crypto:p,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:y,CompressionStream:m,DecompressionStream:_}=self,b=void 0,S="undefined",v="function";class k{constructor(e){return class extends g{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}const z=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;z[e]=t}class D{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;s>n;n++)t=t>>>8^z[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class C extends g{constructor(){let e;const t=new D;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new u(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const I={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=I.getPartial(n);return 32===s?e.concat(t):I._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+I.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=I.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r<e.length;r++)s.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=I.getPartial(r);return s.push(I.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},A={bytes:{fromBits(e){const t=I.bitLength(e)/8,n=new a(t);let s;for(let r=0;t>r;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n<e.length;n++)s=s<<8|e[n],3&~n||(t.push(s),s=0);return 3&n&&t.push(I.partial(8*(3&n),s)),t}}},q=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=A.utf8String.toBits(e));const n=t._buffer=I.concat(t._buffer,e),s=t._length,a=t._length=s+I.bitLength(e);if(a>9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const o=new i(n);let c=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);a>=e;e+=t.blockSize)t._block(o.subarray(16*c,16*(c+1))),c+=1;return n.splice(0,16*c),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=I.concat(t,[I.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e>19?e>39?e>59?e>79?void 0:t^n^s:t&n|t&s|n&s:t^n^s:t&n|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,r=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let o=r[0],i=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,o)+n._f(e,i,c,l)+u+a[e]+n._key[s.floor(e/20)]|0;u=l,l=c,c=n._S(30,i),i=o,o=t}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},R={getRandomValues(e){const t=new i(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let r,a=0;a<e.length;a+=4){const e=n(4294967296*(r||s.random()));r=987654071*e(),t[a/4]=4294967296*e()|0}return e}},H={importKey:e=>new H.hmacSha1(A.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const a=1+(s>>5)<<2;let o,i,c,l,h;const f=new ArrayBuffer(a),p=new u(f);let d=0;const g=I;for(t=A.bytes.toBits(t),h=1;(a||1)>d;h++){for(o=i=e.encrypt(g.concat(t,[h])),c=1;n>c;c++)for(i=e.encrypt(i),l=0;l<i.length;l++)o[l]^=i[l];for(c=0;(a||1)>d&&c<o.length;c++)p.setInt32(d,o[c]),d+=4}return f.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=q,s=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new r("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},P=typeof p!=S&&typeof p.getRandomValues==v,B="Invalid password",K="Invalid signature",T="zipjs-abort-check-password";function V(e){return P?p.getRandomValues(e):R.getRandomValues(e)}const x=16,E={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},E),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},E),M=["deriveBits"],N=[8,12,16],O=[16,24,32],L=10,F=[0,0,0,0],j=typeof p!=S,G=j&&p.subtle,X=j&&typeof G!=S,J=A.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],a=e.length;let o,i,c,l=1;if(4!==a&&6!==a&&8!==a)throw new r("invalid aes key size");for(t._key=[i=e.slice(0),c=[]],o=a;4*a+28>o;o++){let e=i[o-1];(o%a==0||8===a&&o%a==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%a==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),i[o]=i[o-a]^e}for(let e=0;o;e++,o--){const t=i[3&e?o:o-4];c[e]=4>=o||4>e?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let o,i,c,l;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let u=o=0;!n[u];u^=i||1,o=a[o]||1){let a=o^o<<1^o<<2^o<<3^o<<4;a=a>>8^255&a^99,n[u]=a,s[a]=u,l=r[c=r[i=r[u]]];let h=16843009*l^65537*c^257*i^16843008*u,f=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][u]=f=f<<24^f>>>8,t[n][a]=h=h<<24^h>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new r("invalid aes block size");const n=this._key[t],s=n.length/4-2,a=[0,0,0,0],o=this._tables[t],i=o[0],c=o[1],l=o[2],u=o[3],h=o[4];let f,p,d,g=e[0]^n[0],w=e[t?3:1]^n[1],y=e[2]^n[2],m=e[t?1:3]^n[3],_=4;for(let e=0;s>e;e++)f=i[g>>>24]^c[w>>16&255]^l[y>>8&255]^u[255&m]^n[_],p=i[w>>>24]^c[y>>16&255]^l[m>>8&255]^u[255&g]^n[_+1],d=i[y>>>24]^c[m>>16&255]^l[g>>8&255]^u[255&w]^n[_+2],m=i[m>>>24]^c[g>>16&255]^l[w>>8&255]^u[255&y]^n[_+3],_+=4,g=f,w=p,y=d;for(let e=0;4>e;e++)a[t?3&-e:e]=h[g>>>24]<<24^h[w>>16&255]<<16^h[y>>8&255]<<8^h[255&m]^n[_++],f=g,g=w,w=y,y=m,m=f;return a}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=I.bitLength(t);for(let r=0;s>r;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return I.clamp(t,r)}},Z=H.hmacSha1;let $=j&&X&&typeof G.importKey==v,ee=j&&X&&typeof G.deriveBits==v;class te extends g{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:o,checkPasswordOnly:i}){super({start(){t.assign(this,{ready:new h((e=>this.resolveReady=e)),password:ae(e,n),signed:s,strength:o-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:o,resolveReady:c,ready:l}=n;s?(await(async(e,t,n,s)=>{const a=await re(e,t,n,ie(s,0,N[t])),o=ie(s,N[t]);if(a[0]!=o[0]||a[1]!=o[1])throw new r(B)})(n,o,s,ie(e,0,N[o]+2)),e=ie(e,N[o]+2),i?t.error(new r(T)):c()):await l;const u=new a(e.length-L-(e.length-L)%x);t.enqueue(se(n,e,u,0,L,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:o,ready:i}=this;if(s&&n){await i;const c=ie(o,0,o.length-L),l=ie(o,o.length-L);let u=new a;if(c.length){const e=le(J,c);s.update(e);const t=n.update(e);u=ce(J,t)}if(t){const e=ie(ce(J,s.digest()),0,L);for(let t=0;L>t;t++)if(e[t]!=l[t])throw new r(K)}e.enqueue(u)}}})}}class ne extends g{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new h((e=>this.resolveReady=e)),password:ae(e,n),strength:s-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:o,ready:i}=n;let c=new a;s?(c=await(async(e,t,n)=>{const s=V(new a(N[t]));return oe(s,await re(e,t,n,s))})(n,r,s),o()):await i;const l=new a(c.length+e.length-e.length%x);l.set(c,0),t.enqueue(se(n,e,l,c.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:o}=this;if(n&&t){await o;let i=new a;if(s.length){const e=t.update(le(J,s));n.update(e),i=ce(J,e)}r.signature=ce(J,n.digest()).slice(0,L),e.enqueue(oe(i,r.signature))}}}),r=this}}function se(e,t,n,s,r,o){const{ctr:i,hmac:c,pending:l}=e,u=t.length-r;let h;for(l.length&&(t=oe(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,u-u%x)),h=0;u-x>=h;h+=x){const e=le(J,ie(t,h,h+x));o&&c.update(e);const r=i.update(e);o||c.update(r),n.set(ce(J,r),h+s)}return e.pending=ie(t,h),n}async function re(n,s,r,o){n.password=null;const i=await(async(e,t,n,s,r)=>{if(!$)return H.importKey(t);try{return await G.importKey("raw",t,n,!1,r)}catch(e){return $=!1,H.importKey(t)}})(0,r,U,0,M),c=await(async(e,t,n)=>{if(!ee)return H.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(s){return ee=!1,H.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:o},W),i,8*(2*O[s]+2)),l=new a(c),u=le(J,ie(l,0,O[s])),h=le(J,ie(l,O[s],2*O[s])),f=ie(l,2*O[s]);return t.assign(n,{keys:{key:u,authentication:h,passwordVerification:f},ctr:new Y(new Q(u),e.from(F)),hmac:new Z(h)}),f}function ae(e,t){return t===b?(e=>{if(typeof f==S){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new f).encode(e)})(e):t}function oe(e,t){let n=e;return e.length+t.length&&(n=new a(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ie(e,t,n){return e.subarray(t,n)}function ce(e,t){return e.fromBits(t)}function le(e,t){return e.toBits(t)}class ue extends g{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;if(n.password){const t=fe(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new r(B);e=e.subarray(12)}s?t.error(new r(T)):t.enqueue(fe(n,e))}})}}class he extends g{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;let s,r;if(n.password){n.password=null;const t=V(new a(12));t[11]=n.passwordVerification,s=new a(e.length+t.length),s.set(pe(n,t),0),r=12}else s=new a(e.length),r=0;s.set(pe(n,e),r),t.enqueue(s)}})}}function fe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,n[s]);return n}function pe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,t[s]);return n}function de(e,n){const s=[305419896,591751049,878082192];t.assign(e,{keys:s,crcKey0:new D(s[0]),crcKey2:new D(s[2])});for(let t=0;t<n.length;t++)ge(e,n.charCodeAt(t))}function ge(e,t){let[n,r,a]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=me(s.imul(me(r+ye(n)),134775813)+1),e.crcKey2.append([r>>>24]),a=~e.crcKey2.get(),e.keys=[n,r,a]}function we(e){const t=2|e.keys[2];return ye(s.imul(t,1^t)>>>8)}function ye(e){return 255&e}function me(e){return 4294967295&e}const _e="deflate-raw";class be extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:o,zipCrypto:i,signed:c,level:l}=e,h=this;let f,p,d=ve(super.readable);a&&!i||!c||(f=new C,d=De(d,f)),r&&(d=ze(d,o,{level:l,chunkSize:t},s,n)),a&&(i?d=De(d,new he(e)):(p=new ne(e),d=De(d,p))),ke(h,d,(()=>{let e;a&&!i&&(e=p.signature),a&&!i||!c||(e=new u(f.value.buffer).getUint32(0)),h.signature=e}))}}class Se extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:a,encrypted:o,signed:i,signature:c,compressed:l,useCompressionStream:h}=e;let f,p,d=ve(super.readable);o&&(a?d=De(d,new ue(e)):(p=new te(e),d=De(d,p))),l&&(d=ze(d,h,{chunkSize:t},s,n)),o&&!a||!i||(f=new C,d=De(d,f)),ke(this,d,(()=>{if((!o||a)&&i){const e=new u(f.value.buffer);if(c!=e.getUint32(0,!1))throw new r(K)}}))}}function ve(e){return De(e,new g({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ke(e,n,s){n=De(n,new g({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ze(e,t,n,s,r){try{e=De(e,new(t&&s?s:r)(_e,n))}catch(s){if(!t)return e;try{e=De(e,new r(_e,n))}catch(t){return e}}return e}function De(e,t){return e.pipeThrough(t)}const Ce="data",Ie="close";class Ae extends g{constructor(e,n){super({});const s=this,{codecType:r}=e;let a;r.startsWith("deflate")?a=be:r.startsWith("inflate")&&(a=Se);let o=0,i=0;const c=new a(e,n),l=super.readable,u=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:i})}}),h=new g({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){const{signature:e}=c;t.assign(s,{signature:e,outputSize:o,inputSize:i})}});t.defineProperty(s,"readable",{get:()=>l.pipeThrough(u).pipeThrough(c).pipeThrough(h)})}}class qe extends g{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new a(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const Re=new l,He=new l;let Pe,Be=0,Ke=!0;async function Te(e){try{const{options:t,scripts:s,config:r}=e;if(s&&s.length)try{Ke?importScripts.apply(b,s):await Ve(s)}catch(e){Ke=!1,await Ve(s)}self.initCodec&&self.initCodec(),r.CompressionStreamNative=self.CompressionStream,r.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(r.CompressionStream=new k(self.Deflate)),self.Inflate&&(r.DecompressionStream=new k(self.Inflate));const a={highWaterMark:1},o=e.readable||new w({async pull(e){const t=new h((e=>Re.set(Be,e)));xe({type:"pull",messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER;const{value:s,done:r}=await t;e.enqueue(s),r&&e.close()}},a),i=e.writable||new y({async write(e){let t;const s=new h((e=>t=e));He.set(Be,t),xe({type:Ce,value:e,messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER,await s}},a),c=new Ae(t,r);Pe=new AbortController;const{signal:l}=Pe;await o.pipeThrough(c).pipeThrough(new qe(r.chunkSize)).pipeTo(i,{signal:l,preventClose:!0,preventAbort:!0}),await i.getWriter().close();const{signature:u,inputSize:f,outputSize:p}=c;xe({type:Ie,result:{signature:u,inputSize:f,outputSize:p}})}catch(e){Ee(e)}}async function Ve(e){for(const t of e)await import(t)}function xe(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ee(e=new r("Unknown error")){const{message:t,stack:n,code:s,name:a}=e;d({error:{message:t,stack:n,code:s,name:a}})}function Ue(e,n,s){return class{constructor(r){const o=this;var i,c;i=r,c="level",(typeof t.hasOwn===v?t.hasOwn(i,c):i.hasOwnProperty(c))&&r.level===b&&delete r.level,o.codec=new e(t.assign({},n,r)),s(o.codec,(e=>{if(o.pendingData){const t=o.pendingData;o.pendingData=new a(t.length+e.length);const{pendingData:n}=o;n.set(t,0),n.set(e,t.length)}else o.pendingData=new a(e)}))}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new a,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:s,done:r}=e;try{if("start"==t&&Te(e),t==Ce){const e=Re.get(n);Re.delete(n),e({value:new a(s),done:r})}if("ack"==t){const e=He.get(n);He.delete(n),e()}t==Ie&&Pe.abort()}catch(e){Ee(e)}})),self.initCodec=()=>{const{Deflate:e,Inflate:t}=((e,t={},n)=>({Deflate:Ue(e.Deflate,t.deflate,n),Inflate:Ue(e.Inflate,t.inflate,n)}))(pako,{deflate:{raw:!0},inflate:{raw:!0}},((e,t)=>e.onData=t));self.Deflate=e,self.Inflate=t}}();
1
+ !function(){"use strict";const{Array:e,Object:t,Number:n,Math:s,Error:r,Uint8Array:a,Uint16Array:o,Uint32Array:i,Int32Array:c,Map:l,DataView:u,Promise:h,TextEncoder:f,crypto:p,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:y,CompressionStream:m,DecompressionStream:_}=self,b=void 0,S="undefined",v="function";class k{constructor(e){return class extends g{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}const z=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;z[e]=t}class D{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;s>n;n++)t=t>>>8^z[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class C extends g{constructor(){let e;const t=new D;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new u(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const I={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=I.getPartial(n);return 32===s?e.concat(t):I._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+I.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=I.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r<e.length;r++)s.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=I.getPartial(r);return s.push(I.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},A={bytes:{fromBits(e){const t=I.bitLength(e)/8,n=new a(t);let s;for(let r=0;t>r;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n<e.length;n++)s=s<<8|e[n],3&~n||(t.push(s),s=0);return 3&n&&t.push(I.partial(8*(3&n),s)),t}}},q=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=A.utf8String.toBits(e));const n=t._buffer=I.concat(t._buffer,e),s=t._length,a=t._length=s+I.bitLength(e);if(a>9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const o=new i(n);let c=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);a>=e;e+=t.blockSize)t._block(o.subarray(16*c,16*(c+1))),c+=1;return n.splice(0,16*c),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=I.concat(t,[I.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e>19?e>39?e>59?e>79?void 0:t^n^s:t&n|t&s|n&s:t^n^s:t&n|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,r=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let o=r[0],i=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,o)+n._f(e,i,c,l)+u+a[e]+n._key[s.floor(e/20)]|0;u=l,l=c,c=n._S(30,i),i=o,o=t}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},R={getRandomValues(e){const t=new i(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let r,a=0;a<e.length;a+=4){const e=n(4294967296*(r||s.random()));r=987654071*e(),t[a/4]=4294967296*e()|0}return e}},H={importKey:e=>new H.hmacSha1(A.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const a=1+(s>>5)<<2;let o,i,c,l,h;const f=new ArrayBuffer(a),p=new u(f);let d=0;const g=I;for(t=A.bytes.toBits(t),h=1;(a||1)>d;h++){for(o=i=e.encrypt(g.concat(t,[h])),c=1;n>c;c++)for(i=e.encrypt(i),l=0;l<i.length;l++)o[l]^=i[l];for(c=0;(a||1)>d&&c<o.length;c++)p.setInt32(d,o[c]),d+=4}return f.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=q,s=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new r("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},P=typeof p!=S&&typeof p.getRandomValues==v,B="Invalid password",K="Invalid signature",T="zipjs-abort-check-password";function V(e){return P?p.getRandomValues(e):R.getRandomValues(e)}const x=16,E={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},E),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},E),M=["deriveBits"],N=[8,12,16],O=[16,24,32],L=10,F=[0,0,0,0],j=typeof p!=S,G=j&&p.subtle,X=j&&typeof G!=S,J=A.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],a=e.length;let o,i,c,l=1;if(4!==a&&6!==a&&8!==a)throw new r("invalid aes key size");for(t._key=[i=e.slice(0),c=[]],o=a;4*a+28>o;o++){let e=i[o-1];(o%a===0||8===a&&o%a===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%a===0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),i[o]=i[o-a]^e}for(let e=0;o;e++,o--){const t=i[3&e?o:o-4];c[e]=4>=o||4>e?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let o,i,c,l;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let u=o=0;!n[u];u^=i||1,o=a[o]||1){let a=o^o<<1^o<<2^o<<3^o<<4;a=a>>8^255&a^99,n[u]=a,s[a]=u,l=r[c=r[i=r[u]]];let h=16843009*l^65537*c^257*i^16843008*u,f=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][u]=f=f<<24^f>>>8,t[n][a]=h=h<<24^h>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new r("invalid aes block size");const n=this._key[t],s=n.length/4-2,a=[0,0,0,0],o=this._tables[t],i=o[0],c=o[1],l=o[2],u=o[3],h=o[4];let f,p,d,g=e[0]^n[0],w=e[t?3:1]^n[1],y=e[2]^n[2],m=e[t?1:3]^n[3],_=4;for(let e=0;s>e;e++)f=i[g>>>24]^c[w>>16&255]^l[y>>8&255]^u[255&m]^n[_],p=i[w>>>24]^c[y>>16&255]^l[m>>8&255]^u[255&g]^n[_+1],d=i[y>>>24]^c[m>>16&255]^l[g>>8&255]^u[255&w]^n[_+2],m=i[m>>>24]^c[g>>16&255]^l[w>>8&255]^u[255&y]^n[_+3],_+=4,g=f,w=p,y=d;for(let e=0;4>e;e++)a[t?3&-e:e]=h[g>>>24]<<24^h[w>>16&255]<<16^h[y>>8&255]<<8^h[255&m]^n[_++],f=g,g=w,w=y,y=m,m=f;return a}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=I.bitLength(t);for(let r=0;s>r;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return I.clamp(t,r)}},Z=H.hmacSha1;let $=j&&X&&typeof G.importKey==v,ee=j&&X&&typeof G.deriveBits==v;class te extends g{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:o,checkPasswordOnly:i}){super({start(){t.assign(this,{ready:new h((e=>this.resolveReady=e)),password:ae(e,n),signed:s,strength:o-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:o,resolveReady:c,ready:l}=n;s?(await(async(e,t,n,s)=>{const a=await re(e,t,n,ie(s,0,N[t])),o=ie(s,N[t]);if(a[0]!=o[0]||a[1]!=o[1])throw new r(B)})(n,o,s,ie(e,0,N[o]+2)),e=ie(e,N[o]+2),i?t.error(new r(T)):c()):await l;const u=new a(e.length-L-(e.length-L)%x);t.enqueue(se(n,e,u,0,L,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:o,ready:i}=this;if(s&&n){await i;const c=ie(o,0,o.length-L),l=ie(o,o.length-L);let u=new a;if(c.length){const e=le(J,c);s.update(e);const t=n.update(e);u=ce(J,t)}if(t){const e=ie(ce(J,s.digest()),0,L);for(let t=0;L>t;t++)if(e[t]!=l[t])throw new r(K)}e.enqueue(u)}}})}}class ne extends g{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new h((e=>this.resolveReady=e)),password:ae(e,n),strength:s-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:o,ready:i}=n;let c=new a;s?(c=await(async(e,t,n)=>{const s=V(new a(N[t]));return oe(s,await re(e,t,n,s))})(n,r,s),o()):await i;const l=new a(c.length+e.length-e.length%x);l.set(c,0),t.enqueue(se(n,e,l,c.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:o}=this;if(n&&t){await o;let i=new a;if(s.length){const e=t.update(le(J,s));n.update(e),i=ce(J,e)}r.signature=ce(J,n.digest()).slice(0,L),e.enqueue(oe(i,r.signature))}}}),r=this}}function se(e,t,n,s,r,o){const{ctr:i,hmac:c,pending:l}=e,u=t.length-r;let h;for(l.length&&(t=oe(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,u-u%x)),h=0;u-x>=h;h+=x){const e=le(J,ie(t,h,h+x));o&&c.update(e);const r=i.update(e);o||c.update(r),n.set(ce(J,r),h+s)}return e.pending=ie(t,h),n}async function re(n,s,r,o){n.password=null;const i=await(async(e,t,n,s,r)=>{if(!$)return H.importKey(t);try{return await G.importKey("raw",t,n,!1,r)}catch(e){return $=!1,H.importKey(t)}})(0,r,U,0,M),c=await(async(e,t,n)=>{if(!ee)return H.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(s){return ee=!1,H.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:o},W),i,8*(2*O[s]+2)),l=new a(c),u=le(J,ie(l,0,O[s])),h=le(J,ie(l,O[s],2*O[s])),f=ie(l,2*O[s]);return t.assign(n,{keys:{key:u,authentication:h,passwordVerification:f},ctr:new Y(new Q(u),e.from(F)),hmac:new Z(h)}),f}function ae(e,t){return t===b?(e=>{if(typeof f==S){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new f).encode(e)})(e):t}function oe(e,t){let n=e;return e.length+t.length&&(n=new a(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ie(e,t,n){return e.subarray(t,n)}function ce(e,t){return e.fromBits(t)}function le(e,t){return e.toBits(t)}class ue extends g{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;if(n.password){const t=fe(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new r(B);e=e.subarray(12)}s?t.error(new r(T)):t.enqueue(fe(n,e))}})}}class he extends g{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;let s,r;if(n.password){n.password=null;const t=V(new a(12));t[11]=n.passwordVerification,s=new a(e.length+t.length),s.set(pe(n,t),0),r=12}else s=new a(e.length),r=0;s.set(pe(n,e),r),t.enqueue(s)}})}}function fe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,n[s]);return n}function pe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,t[s]);return n}function de(e,n){const s=[305419896,591751049,878082192];t.assign(e,{keys:s,crcKey0:new D(s[0]),crcKey2:new D(s[2])});for(let t=0;t<n.length;t++)ge(e,n.charCodeAt(t))}function ge(e,t){let[n,r,a]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=me(s.imul(me(r+ye(n)),134775813)+1),e.crcKey2.append([r>>>24]),a=~e.crcKey2.get(),e.keys=[n,r,a]}function we(e){const t=2|e.keys[2];return ye(s.imul(t,1^t)>>>8)}function ye(e){return 255&e}function me(e){return 4294967295&e}const _e="deflate-raw";class be extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:o,zipCrypto:i,signed:c,level:l}=e,h=this;let f,p,d=ve(super.readable);a&&!i||!c||(f=new C,d=De(d,f)),r&&(d=ze(d,o,{level:l,chunkSize:t},s,n)),a&&(i?d=De(d,new he(e)):(p=new ne(e),d=De(d,p))),ke(h,d,(()=>{let e;a&&!i&&(e=p.signature),a&&!i||!c||(e=new u(f.value.buffer).getUint32(0)),h.signature=e}))}}class Se extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:a,encrypted:o,signed:i,signature:c,compressed:l,useCompressionStream:h}=e;let f,p,d=ve(super.readable);o&&(a?d=De(d,new ue(e)):(p=new te(e),d=De(d,p))),l&&(d=ze(d,h,{chunkSize:t},s,n)),o&&!a||!i||(f=new C,d=De(d,f)),ke(this,d,(()=>{if((!o||a)&&i){const e=new u(f.value.buffer);if(c!=e.getUint32(0,!1))throw new r(K)}}))}}function ve(e){return De(e,new g({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ke(e,n,s){n=De(n,new g({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ze(e,t,n,s,r){try{e=De(e,new(t&&s?s:r)(_e,n))}catch(s){if(!t)return e;try{e=De(e,new r(_e,n))}catch(t){return e}}return e}function De(e,t){return e.pipeThrough(t)}const Ce="data",Ie="close";class Ae extends g{constructor(e,n){super({});const s=this,{codecType:r}=e;let a;r.startsWith("deflate")?a=be:r.startsWith("inflate")&&(a=Se);let o=0,i=0;const c=new a(e,n),l=super.readable,u=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:i})}}),h=new g({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){const{signature:e}=c;t.assign(s,{signature:e,outputSize:o,inputSize:i})}});t.defineProperty(s,"readable",{get:()=>l.pipeThrough(u).pipeThrough(c).pipeThrough(h)})}}class qe extends g{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new a(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const Re=new l,He=new l;let Pe,Be=0,Ke=!0;async function Te(e){try{const{options:t,scripts:s,config:r}=e;if(s&&s.length)try{Ke?importScripts.apply(b,s):await Ve(s)}catch(e){Ke=!1,await Ve(s)}self.initCodec&&self.initCodec(),r.CompressionStreamNative=self.CompressionStream,r.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(r.CompressionStream=new k(self.Deflate)),self.Inflate&&(r.DecompressionStream=new k(self.Inflate));const a={highWaterMark:1},o=e.readable||new w({async pull(e){const t=new h((e=>Re.set(Be,e)));xe({type:"pull",messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER;const{value:s,done:r}=await t;e.enqueue(s),r&&e.close()}},a),i=e.writable||new y({async write(e){let t;const s=new h((e=>t=e));He.set(Be,t),xe({type:Ce,value:e,messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER,await s}},a),c=new Ae(t,r);Pe=new AbortController;const{signal:l}=Pe;await o.pipeThrough(c).pipeThrough(new qe(r.chunkSize)).pipeTo(i,{signal:l,preventClose:!0,preventAbort:!0}),await i.getWriter().close();const{signature:u,inputSize:f,outputSize:p}=c;xe({type:Ie,result:{signature:u,inputSize:f,outputSize:p}})}catch(e){Ee(e)}}async function Ve(e){for(const t of e)await import(t)}function xe(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ee(e=new r("Unknown error")){const{message:t,stack:n,code:s,name:a}=e;d({error:{message:t,stack:n,code:s,name:a}})}function Ue(e,n,s){return class{constructor(r){const o=this;var i,c;i=r,c="level",(typeof t.hasOwn===v?t.hasOwn(i,c):i.hasOwnProperty(c))&&r.level===b&&delete r.level,o.codec=new e(t.assign({},n,r)),s(o.codec,(e=>{if(o.pendingData){const t=o.pendingData;o.pendingData=new a(t.length+e.length);const{pendingData:n}=o;n.set(t,0),n.set(e,t.length)}else o.pendingData=new a(e)}))}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new a,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:s,done:r}=e;try{if("start"==t&&Te(e),t==Ce){const e=Re.get(n);Re.delete(n),e({value:new a(s),done:r})}if("ack"==t){const e=He.get(n);He.delete(n),e()}t==Ie&&Pe.abort()}catch(e){Ee(e)}})),self.initCodec=()=>{const{Deflate:e,Inflate:t}=((e,t={},n)=>({Deflate:Ue(e.Deflate,t.deflate,n),Inflate:Ue(e.Inflate,t.inflate,n)}))(pako,{deflate:{raw:!0},inflate:{raw:!0}},((e,t)=>e.onData=t));self.Deflate=e,self.Inflate=t}}();
package/index.d.ts CHANGED
@@ -29350,6 +29350,7 @@ export namespace Cesium3DTileset {
29350
29350
  * @property [enableCollision = false] - When <code>true</code>, enables collisions for camera or CPU picking. While this is <code>true</code> the camera will be prevented from going below the tileset surface if {@link ScreenSpaceCameraController#enableCollisionDetection} is true.
29351
29351
  * @property [projectTo2D = false] - Whether to accurately project the tileset to 2D. If this is true, the tileset will be projected accurately to 2D, but it will use more memory to do so. If this is false, the tileset will use less memory and will still render in 2D / CV mode, but its projected positions may be inaccurate. This cannot be set after the tileset has been created.
29352
29352
  * @property [enablePick = false] - Whether to allow collision and CPU picking with <code>pick</code> when using WebGL 1. If using WebGL 2 or above, this option will be ignored. If using WebGL 1 and this is true, the <code>pick</code> operation will work correctly, but it will use more memory to do so. If running with WebGL 1 and this is false, the model will use less memory, but <code>pick</code> will always return <code>undefined</code>. This cannot be set after the tileset has loaded.
29353
+ * @property [asynchronouslyLoadImagery = false] - Whether loading imagery that is draped over the tileset should be done asynchronously. If this is <code>true</code>, then tile content will be displayed with its original texture until the imagery texture is loaded. If this is <code>false</code>, then the tile content will not be displayed until the imagery is ready.
29353
29354
  * @property [debugHeatmapTilePropertyName] - The tile variable to colorize as a heatmap. All rendered tiles will be colorized relative to each other's specified variable value.
29354
29355
  * @property [debugFreezeFrame = false] - For debugging only. Determines if only the tiles from last frame should be used for rendering.
29355
29356
  * @property [debugColorizeTiles = false] - For debugging only. When true, assigns a random color to each tile.
@@ -29415,6 +29416,7 @@ export namespace Cesium3DTileset {
29415
29416
  enableCollision?: boolean;
29416
29417
  projectTo2D?: boolean;
29417
29418
  enablePick?: boolean;
29419
+ asynchronouslyLoadImagery?: boolean;
29418
29420
  debugHeatmapTilePropertyName?: string;
29419
29421
  debugFreezeFrame?: boolean;
29420
29422
  debugColorizeTiles?: boolean;
@@ -29920,6 +29922,20 @@ export class Cesium3DTileset {
29920
29922
  * The {@link ClippingPolygonCollection} used to selectively disable rendering the tileset.
29921
29923
  */
29922
29924
  clippingPolygons: ClippingPolygonCollection;
29925
+ /**
29926
+ * The collection of <code>ImageryLayer</code> objects providing 2D georeferenced
29927
+ * image data that will be rendered over the tileset.
29928
+ *
29929
+ * The imagery will be draped over glTF, B3DM, PNTS, or GeoJSON tile content.
29930
+ * @example
29931
+ * // Drape Bing Maps Aerial imagery over the tileset
29932
+ * const imageryProvider = await Cesium.createWorldImageryAsync({
29933
+ * style: Cesium.IonWorldImageryStyle.AERIAL,
29934
+ * });
29935
+ * const imageryLayer = new ImageryLayer(imageryProvider);
29936
+ * tileset.imageryLayers.add(imageryLayer);
29937
+ */
29938
+ readonly imageryLayers: ImageryLayerCollection;
29923
29939
  /**
29924
29940
  * Gets the tileset's properties dictionary object, which contains metadata about per-feature properties.
29925
29941
  * <p>
@@ -34296,7 +34312,7 @@ export namespace ImageryLayer {
34296
34312
 
34297
34313
  /**
34298
34314
  * An imagery layer that displays tiled image data from a single imagery provider
34299
- * on a {@link Globe}.
34315
+ * on a {@link Globe} or {@link Cesium3DTileset}.
34300
34316
  * @example
34301
34317
  * // Add an OpenStreetMaps layer
34302
34318
  * const imageryLayer = new Cesium.ImageryLayer(new Cesium.OpenStreetMapImageryProvider({
@@ -34312,6 +34328,18 @@ export namespace ImageryLayer {
34312
34328
  * const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
34313
34329
  * imageryLayer.alpha = 0.5;
34314
34330
  * scene.imageryLayers.add(imageryLayer);
34331
+ * @example
34332
+ * // Drape Bing Maps Aerial imagery over a 3D tileset
34333
+ * const tileset = await Cesium.Cesium3DTileset.fromUrl(
34334
+ * "http://localhost:8002/tilesets/Seattle/tileset.json"
34335
+ * );
34336
+ * scene.primitives.add(tileset);
34337
+ *
34338
+ * const imageryProvider = await Cesium.createWorldImageryAsync({
34339
+ * style: Cesium.IonWorldImageryStyle.AERIAL,
34340
+ * });
34341
+ * const imageryLayer = new ImageryLayer(imageryProvider);
34342
+ * tileset.imageryLayers.add(imageryLayer);
34315
34343
  * @param [imageryProvider] - The imagery provider to use.
34316
34344
  * @param [options] - An object describing initialization options
34317
34345
  */
@@ -34561,7 +34589,7 @@ export class ImageryLayer {
34561
34589
  }
34562
34590
 
34563
34591
  /**
34564
- * An ordered collection of imagery layers.
34592
+ * An ordered collection of imagery layers for rendering raster imagery on a {@link Globe} or {@link Cesium3DTileset}.
34565
34593
  */
34566
34594
  export class ImageryLayerCollection {
34567
34595
  constructor();
@@ -38415,6 +38443,26 @@ export class ModelNode {
38415
38443
  originalMatrix: Matrix4;
38416
38444
  }
38417
38445
 
38446
+ /**
38447
+ * Reads and returns a value with the given type
38448
+ * at the given byte offset from the data view, in little-endian
38449
+ * order
38450
+ * @param dataView - Typed data view into a binary buffer
38451
+ * @param byteOffset - The offset, in bytes, from the start of the view to read the data from
38452
+ * @param numberOfComponents - The number of components to read
38453
+ * @param result - The array in which to read the result
38454
+ */
38455
+ export type ComponentsReaderCallback = (dataView: DataView, byteOffset: number, numberOfComponents: number, result: number[]) => void;
38456
+
38457
+ /**
38458
+ * Reads and returns a value with the given type
38459
+ * at the given byte offset from the data view, in little-endian
38460
+ * order
38461
+ * @param dataView - Typed data view into a binary buffer
38462
+ * @param byteOffset - The offset, in bytes, from the start of the view to read the data from
38463
+ */
38464
+ export type ComponentReaderCallback = (dataView: DataView, byteOffset: number) => number | bigint;
38465
+
38418
38466
  /**
38419
38467
  * A simple struct that serves as a value of a <code>sampler2D</code>-valued
38420
38468
  * uniform. This is used with {@link CustomShader} and {@link TextureManager}
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- globalThis.CESIUM_VERSION = "1.129";
1
+ globalThis.CESIUM_VERSION = "1.130";
2
2
  export { default as AutomaticUniforms } from './Source/Renderer/AutomaticUniforms.js';
3
3
  export { default as Buffer } from './Source/Renderer/Buffer.js';
4
4
  export { default as BufferUsage } from './Source/Renderer/BufferUsage.js';
@@ -29,6 +29,7 @@ export { default as ShaderProgram } from './Source/Renderer/ShaderProgram.js';
29
29
  export { default as ShaderSource } from './Source/Renderer/ShaderSource.js';
30
30
  export { default as ShaderStruct } from './Source/Renderer/ShaderStruct.js';
31
31
  export { default as Texture } from './Source/Renderer/Texture.js';
32
+ export { default as Texture3D } from './Source/Renderer/Texture3D.js';
32
33
  export { default as TextureAtlas } from './Source/Renderer/TextureAtlas.js';
33
34
  export { default as TextureCache } from './Source/Renderer/TextureCache.js';
34
35
  export { default as TextureMagnificationFilter } from './Source/Renderer/TextureMagnificationFilter.js';
@@ -42,59 +43,6 @@ export { default as createUniformArray } from './Source/Renderer/createUniformAr
42
43
  export { default as demodernizeShader } from './Source/Renderer/demodernizeShader.js';
43
44
  export { default as freezeRenderState } from './Source/Renderer/freezeRenderState.js';
44
45
  export { default as loadCubeMap } from './Source/Renderer/loadCubeMap.js';
45
- export { default as _shadersAdjustTranslucentFS } from './Source/Shaders/AdjustTranslucentFS.js';
46
- export { default as _shadersAtmosphereCommon } from './Source/Shaders/AtmosphereCommon.js';
47
- export { default as _shadersBillboardCollectionFS } from './Source/Shaders/BillboardCollectionFS.js';
48
- export { default as _shadersBillboardCollectionVS } from './Source/Shaders/BillboardCollectionVS.js';
49
- export { default as _shadersBrdfLutGeneratorFS } from './Source/Shaders/BrdfLutGeneratorFS.js';
50
- export { default as _shadersCloudCollectionFS } from './Source/Shaders/CloudCollectionFS.js';
51
- export { default as _shadersCloudCollectionVS } from './Source/Shaders/CloudCollectionVS.js';
52
- export { default as _shadersCloudNoiseFS } from './Source/Shaders/CloudNoiseFS.js';
53
- export { default as _shadersCloudNoiseVS } from './Source/Shaders/CloudNoiseVS.js';
54
- export { default as _shadersCompareAndPackTranslucentDepth } from './Source/Shaders/CompareAndPackTranslucentDepth.js';
55
- export { default as _shadersCompositeOITFS } from './Source/Shaders/CompositeOITFS.js';
56
- export { default as _shadersComputeIrradianceFS } from './Source/Shaders/ComputeIrradianceFS.js';
57
- export { default as _shadersComputeRadianceMapFS } from './Source/Shaders/ComputeRadianceMapFS.js';
58
- export { default as _shadersConvolveSpecularMapFS } from './Source/Shaders/ConvolveSpecularMapFS.js';
59
- export { default as _shadersConvolveSpecularMapVS } from './Source/Shaders/ConvolveSpecularMapVS.js';
60
- export { default as _shadersDepthPlaneFS } from './Source/Shaders/DepthPlaneFS.js';
61
- export { default as _shadersDepthPlaneVS } from './Source/Shaders/DepthPlaneVS.js';
62
- export { default as _shadersEllipsoidFS } from './Source/Shaders/EllipsoidFS.js';
63
- export { default as _shadersEllipsoidVS } from './Source/Shaders/EllipsoidVS.js';
64
- export { default as _shadersFXAA3_11 } from './Source/Shaders/FXAA3_11.js';
65
- export { default as _shadersGlobeFS } from './Source/Shaders/GlobeFS.js';
66
- export { default as _shadersGlobeVS } from './Source/Shaders/GlobeVS.js';
67
- export { default as _shadersGroundAtmosphere } from './Source/Shaders/GroundAtmosphere.js';
68
- export { default as _shadersPointPrimitiveCollectionFS } from './Source/Shaders/PointPrimitiveCollectionFS.js';
69
- export { default as _shadersPointPrimitiveCollectionVS } from './Source/Shaders/PointPrimitiveCollectionVS.js';
70
- export { default as _shadersPolygonSignedDistanceFS } from './Source/Shaders/PolygonSignedDistanceFS.js';
71
- export { default as _shadersPolylineCommon } from './Source/Shaders/PolylineCommon.js';
72
- export { default as _shadersPolylineFS } from './Source/Shaders/PolylineFS.js';
73
- export { default as _shadersPolylineShadowVolumeFS } from './Source/Shaders/PolylineShadowVolumeFS.js';
74
- export { default as _shadersPolylineShadowVolumeMorphFS } from './Source/Shaders/PolylineShadowVolumeMorphFS.js';
75
- export { default as _shadersPolylineShadowVolumeMorphVS } from './Source/Shaders/PolylineShadowVolumeMorphVS.js';
76
- export { default as _shadersPolylineShadowVolumeVS } from './Source/Shaders/PolylineShadowVolumeVS.js';
77
- export { default as _shadersPolylineVS } from './Source/Shaders/PolylineVS.js';
78
- export { default as _shadersReprojectWebMercatorFS } from './Source/Shaders/ReprojectWebMercatorFS.js';
79
- export { default as _shadersReprojectWebMercatorVS } from './Source/Shaders/ReprojectWebMercatorVS.js';
80
- export { default as _shadersShadowVolumeAppearanceFS } from './Source/Shaders/ShadowVolumeAppearanceFS.js';
81
- export { default as _shadersShadowVolumeAppearanceVS } from './Source/Shaders/ShadowVolumeAppearanceVS.js';
82
- export { default as _shadersShadowVolumeFS } from './Source/Shaders/ShadowVolumeFS.js';
83
- export { default as _shadersSkyAtmosphereCommon } from './Source/Shaders/SkyAtmosphereCommon.js';
84
- export { default as _shadersSkyAtmosphereFS } from './Source/Shaders/SkyAtmosphereFS.js';
85
- export { default as _shadersSkyAtmosphereVS } from './Source/Shaders/SkyAtmosphereVS.js';
86
- export { default as _shadersSkyBoxFS } from './Source/Shaders/SkyBoxFS.js';
87
- export { default as _shadersSkyBoxVS } from './Source/Shaders/SkyBoxVS.js';
88
- export { default as _shadersSunFS } from './Source/Shaders/SunFS.js';
89
- export { default as _shadersSunTextureFS } from './Source/Shaders/SunTextureFS.js';
90
- export { default as _shadersSunVS } from './Source/Shaders/SunVS.js';
91
- export { default as _shadersVector3DTileClampedPolylinesFS } from './Source/Shaders/Vector3DTileClampedPolylinesFS.js';
92
- export { default as _shadersVector3DTileClampedPolylinesVS } from './Source/Shaders/Vector3DTileClampedPolylinesVS.js';
93
- export { default as _shadersVector3DTilePolylinesVS } from './Source/Shaders/Vector3DTilePolylinesVS.js';
94
- export { default as _shadersVectorTileVS } from './Source/Shaders/VectorTileVS.js';
95
- export { default as _shadersViewportQuadFS } from './Source/Shaders/ViewportQuadFS.js';
96
- export { default as _shadersViewportQuadVS } from './Source/Shaders/ViewportQuadVS.js';
97
- export { default as CesiumWidget } from './Source/Widget/CesiumWidget.js';
98
46
  export { default as BillboardGraphics } from './Source/DataSources/BillboardGraphics.js';
99
47
  export { default as BillboardVisualizer } from './Source/DataSources/BillboardVisualizer.js';
100
48
  export { default as BoundingSphereState } from './Source/DataSources/BoundingSphereState.js';
@@ -203,6 +151,7 @@ export { default as createRawPropertyDescriptor } from './Source/DataSources/cre
203
151
  export { default as exportKml } from './Source/DataSources/exportKml.js';
204
152
  export { default as getElement } from './Source/DataSources/getElement.js';
205
153
  export { default as heightReferenceOnEntityPropertyChanged } from './Source/DataSources/heightReferenceOnEntityPropertyChanged.js';
154
+ export { default as CesiumWidget } from './Source/Widget/CesiumWidget.js';
206
155
  export { default as ApproximateTerrainHeights } from './Source/Core/ApproximateTerrainHeights.js';
207
156
  export { default as ArcGISTiledElevationTerrainProvider } from './Source/Core/ArcGISTiledElevationTerrainProvider.js';
208
157
  export { default as ArcType } from './Source/Core/ArcType.js';
@@ -486,6 +435,58 @@ export { default as subdivideArray } from './Source/Core/subdivideArray.js';
486
435
  export { default as webGLConstantToGlslType } from './Source/Core/webGLConstantToGlslType.js';
487
436
  export { default as wrapFunction } from './Source/Core/wrapFunction.js';
488
437
  export { default as writeTextToCanvas } from './Source/Core/writeTextToCanvas.js';
438
+ export { default as _shadersAdjustTranslucentFS } from './Source/Shaders/AdjustTranslucentFS.js';
439
+ export { default as _shadersAtmosphereCommon } from './Source/Shaders/AtmosphereCommon.js';
440
+ export { default as _shadersBillboardCollectionFS } from './Source/Shaders/BillboardCollectionFS.js';
441
+ export { default as _shadersBillboardCollectionVS } from './Source/Shaders/BillboardCollectionVS.js';
442
+ export { default as _shadersBrdfLutGeneratorFS } from './Source/Shaders/BrdfLutGeneratorFS.js';
443
+ export { default as _shadersCloudCollectionFS } from './Source/Shaders/CloudCollectionFS.js';
444
+ export { default as _shadersCloudCollectionVS } from './Source/Shaders/CloudCollectionVS.js';
445
+ export { default as _shadersCloudNoiseFS } from './Source/Shaders/CloudNoiseFS.js';
446
+ export { default as _shadersCloudNoiseVS } from './Source/Shaders/CloudNoiseVS.js';
447
+ export { default as _shadersCompareAndPackTranslucentDepth } from './Source/Shaders/CompareAndPackTranslucentDepth.js';
448
+ export { default as _shadersCompositeOITFS } from './Source/Shaders/CompositeOITFS.js';
449
+ export { default as _shadersComputeIrradianceFS } from './Source/Shaders/ComputeIrradianceFS.js';
450
+ export { default as _shadersComputeRadianceMapFS } from './Source/Shaders/ComputeRadianceMapFS.js';
451
+ export { default as _shadersConvolveSpecularMapFS } from './Source/Shaders/ConvolveSpecularMapFS.js';
452
+ export { default as _shadersConvolveSpecularMapVS } from './Source/Shaders/ConvolveSpecularMapVS.js';
453
+ export { default as _shadersDepthPlaneFS } from './Source/Shaders/DepthPlaneFS.js';
454
+ export { default as _shadersDepthPlaneVS } from './Source/Shaders/DepthPlaneVS.js';
455
+ export { default as _shadersEllipsoidFS } from './Source/Shaders/EllipsoidFS.js';
456
+ export { default as _shadersEllipsoidVS } from './Source/Shaders/EllipsoidVS.js';
457
+ export { default as _shadersFXAA3_11 } from './Source/Shaders/FXAA3_11.js';
458
+ export { default as _shadersGlobeFS } from './Source/Shaders/GlobeFS.js';
459
+ export { default as _shadersGlobeVS } from './Source/Shaders/GlobeVS.js';
460
+ export { default as _shadersGroundAtmosphere } from './Source/Shaders/GroundAtmosphere.js';
461
+ export { default as _shadersPointPrimitiveCollectionFS } from './Source/Shaders/PointPrimitiveCollectionFS.js';
462
+ export { default as _shadersPointPrimitiveCollectionVS } from './Source/Shaders/PointPrimitiveCollectionVS.js';
463
+ export { default as _shadersPolygonSignedDistanceFS } from './Source/Shaders/PolygonSignedDistanceFS.js';
464
+ export { default as _shadersPolylineCommon } from './Source/Shaders/PolylineCommon.js';
465
+ export { default as _shadersPolylineFS } from './Source/Shaders/PolylineFS.js';
466
+ export { default as _shadersPolylineShadowVolumeFS } from './Source/Shaders/PolylineShadowVolumeFS.js';
467
+ export { default as _shadersPolylineShadowVolumeMorphFS } from './Source/Shaders/PolylineShadowVolumeMorphFS.js';
468
+ export { default as _shadersPolylineShadowVolumeMorphVS } from './Source/Shaders/PolylineShadowVolumeMorphVS.js';
469
+ export { default as _shadersPolylineShadowVolumeVS } from './Source/Shaders/PolylineShadowVolumeVS.js';
470
+ export { default as _shadersPolylineVS } from './Source/Shaders/PolylineVS.js';
471
+ export { default as _shadersReprojectWebMercatorFS } from './Source/Shaders/ReprojectWebMercatorFS.js';
472
+ export { default as _shadersReprojectWebMercatorVS } from './Source/Shaders/ReprojectWebMercatorVS.js';
473
+ export { default as _shadersShadowVolumeAppearanceFS } from './Source/Shaders/ShadowVolumeAppearanceFS.js';
474
+ export { default as _shadersShadowVolumeAppearanceVS } from './Source/Shaders/ShadowVolumeAppearanceVS.js';
475
+ export { default as _shadersShadowVolumeFS } from './Source/Shaders/ShadowVolumeFS.js';
476
+ export { default as _shadersSkyAtmosphereCommon } from './Source/Shaders/SkyAtmosphereCommon.js';
477
+ export { default as _shadersSkyAtmosphereFS } from './Source/Shaders/SkyAtmosphereFS.js';
478
+ export { default as _shadersSkyAtmosphereVS } from './Source/Shaders/SkyAtmosphereVS.js';
479
+ export { default as _shadersSkyBoxFS } from './Source/Shaders/SkyBoxFS.js';
480
+ export { default as _shadersSkyBoxVS } from './Source/Shaders/SkyBoxVS.js';
481
+ export { default as _shadersSunFS } from './Source/Shaders/SunFS.js';
482
+ export { default as _shadersSunTextureFS } from './Source/Shaders/SunTextureFS.js';
483
+ export { default as _shadersSunVS } from './Source/Shaders/SunVS.js';
484
+ export { default as _shadersVector3DTileClampedPolylinesFS } from './Source/Shaders/Vector3DTileClampedPolylinesFS.js';
485
+ export { default as _shadersVector3DTileClampedPolylinesVS } from './Source/Shaders/Vector3DTileClampedPolylinesVS.js';
486
+ export { default as _shadersVector3DTilePolylinesVS } from './Source/Shaders/Vector3DTilePolylinesVS.js';
487
+ export { default as _shadersVectorTileVS } from './Source/Shaders/VectorTileVS.js';
488
+ export { default as _shadersViewportQuadFS } from './Source/Shaders/ViewportQuadFS.js';
489
+ export { default as _shadersViewportQuadVS } from './Source/Shaders/ViewportQuadVS.js';
489
490
  export { default as AlphaMode } from './Source/Scene/AlphaMode.js';
490
491
  export { default as Appearance } from './Source/Scene/Appearance.js';
491
492
  export { default as ArcGisBaseMapType } from './Source/Scene/ArcGisBaseMapType.js';
@@ -863,32 +864,6 @@ export { default as _shadersSlopeRampMaterial } from './Source/Shaders/Materials
863
864
  export { default as _shadersStripeMaterial } from './Source/Shaders/Materials/StripeMaterial.js';
864
865
  export { default as _shadersWater } from './Source/Shaders/Materials/Water.js';
865
866
  export { default as _shadersWaterMaskMaterial } from './Source/Shaders/Materials/WaterMaskMaterial.js';
866
- export { default as _shadersAcesTonemappingStage } from './Source/Shaders/PostProcessStages/AcesTonemappingStage.js';
867
- export { default as _shadersAdditiveBlend } from './Source/Shaders/PostProcessStages/AdditiveBlend.js';
868
- export { default as _shadersAmbientOcclusionGenerate } from './Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js';
869
- export { default as _shadersAmbientOcclusionModulate } from './Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js';
870
- export { default as _shadersBlackAndWhite } from './Source/Shaders/PostProcessStages/BlackAndWhite.js';
871
- export { default as _shadersBloomComposite } from './Source/Shaders/PostProcessStages/BloomComposite.js';
872
- export { default as _shadersBrightPass } from './Source/Shaders/PostProcessStages/BrightPass.js';
873
- export { default as _shadersBrightness } from './Source/Shaders/PostProcessStages/Brightness.js';
874
- export { default as _shadersCompositeTranslucentClassification } from './Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js';
875
- export { default as _shadersContrastBias } from './Source/Shaders/PostProcessStages/ContrastBias.js';
876
- export { default as _shadersDepthOfField } from './Source/Shaders/PostProcessStages/DepthOfField.js';
877
- export { default as _shadersDepthView } from './Source/Shaders/PostProcessStages/DepthView.js';
878
- export { default as _shadersDepthViewPacked } from './Source/Shaders/PostProcessStages/DepthViewPacked.js';
879
- export { default as _shadersEdgeDetection } from './Source/Shaders/PostProcessStages/EdgeDetection.js';
880
- export { default as _shadersFXAA } from './Source/Shaders/PostProcessStages/FXAA.js';
881
- export { default as _shadersFilmicTonemapping } from './Source/Shaders/PostProcessStages/FilmicTonemapping.js';
882
- export { default as _shadersGaussianBlur1D } from './Source/Shaders/PostProcessStages/GaussianBlur1D.js';
883
- export { default as _shadersLensFlare } from './Source/Shaders/PostProcessStages/LensFlare.js';
884
- export { default as _shadersModifiedReinhardTonemapping } from './Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js';
885
- export { default as _shadersNightVision } from './Source/Shaders/PostProcessStages/NightVision.js';
886
- export { default as _shadersPassThrough } from './Source/Shaders/PostProcessStages/PassThrough.js';
887
- export { default as _shadersPassThroughDepth } from './Source/Shaders/PostProcessStages/PassThroughDepth.js';
888
- export { default as _shadersPbrNeutralTonemapping } from './Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js';
889
- export { default as _shadersPointCloudEyeDomeLighting } from './Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js';
890
- export { default as _shadersReinhardTonemapping } from './Source/Shaders/PostProcessStages/ReinhardTonemapping.js';
891
- export { default as _shadersSilhouette } from './Source/Shaders/PostProcessStages/Silhouette.js';
892
867
  export { default as _shadersAtmosphereStageFS } from './Source/Shaders/Model/AtmosphereStageFS.js';
893
868
  export { default as _shadersAtmosphereStageVS } from './Source/Shaders/Model/AtmosphereStageVS.js';
894
869
  export { default as _shadersCPUStylingStageFS } from './Source/Shaders/Model/CPUStylingStageFS.js';
@@ -923,6 +898,32 @@ export { default as _shadersPrimitiveOutlineStageVS } from './Source/Shaders/Mod
923
898
  export { default as _shadersSelectedFeatureIdStageCommon } from './Source/Shaders/Model/SelectedFeatureIdStageCommon.js';
924
899
  export { default as _shadersSkinningStageVS } from './Source/Shaders/Model/SkinningStageVS.js';
925
900
  export { default as _shadersVerticalExaggerationStageVS } from './Source/Shaders/Model/VerticalExaggerationStageVS.js';
901
+ export { default as _shadersAcesTonemappingStage } from './Source/Shaders/PostProcessStages/AcesTonemappingStage.js';
902
+ export { default as _shadersAdditiveBlend } from './Source/Shaders/PostProcessStages/AdditiveBlend.js';
903
+ export { default as _shadersAmbientOcclusionGenerate } from './Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js';
904
+ export { default as _shadersAmbientOcclusionModulate } from './Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js';
905
+ export { default as _shadersBlackAndWhite } from './Source/Shaders/PostProcessStages/BlackAndWhite.js';
906
+ export { default as _shadersBloomComposite } from './Source/Shaders/PostProcessStages/BloomComposite.js';
907
+ export { default as _shadersBrightPass } from './Source/Shaders/PostProcessStages/BrightPass.js';
908
+ export { default as _shadersBrightness } from './Source/Shaders/PostProcessStages/Brightness.js';
909
+ export { default as _shadersCompositeTranslucentClassification } from './Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js';
910
+ export { default as _shadersContrastBias } from './Source/Shaders/PostProcessStages/ContrastBias.js';
911
+ export { default as _shadersDepthOfField } from './Source/Shaders/PostProcessStages/DepthOfField.js';
912
+ export { default as _shadersDepthView } from './Source/Shaders/PostProcessStages/DepthView.js';
913
+ export { default as _shadersDepthViewPacked } from './Source/Shaders/PostProcessStages/DepthViewPacked.js';
914
+ export { default as _shadersEdgeDetection } from './Source/Shaders/PostProcessStages/EdgeDetection.js';
915
+ export { default as _shadersFXAA } from './Source/Shaders/PostProcessStages/FXAA.js';
916
+ export { default as _shadersFilmicTonemapping } from './Source/Shaders/PostProcessStages/FilmicTonemapping.js';
917
+ export { default as _shadersGaussianBlur1D } from './Source/Shaders/PostProcessStages/GaussianBlur1D.js';
918
+ export { default as _shadersLensFlare } from './Source/Shaders/PostProcessStages/LensFlare.js';
919
+ export { default as _shadersModifiedReinhardTonemapping } from './Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js';
920
+ export { default as _shadersNightVision } from './Source/Shaders/PostProcessStages/NightVision.js';
921
+ export { default as _shadersPassThrough } from './Source/Shaders/PostProcessStages/PassThrough.js';
922
+ export { default as _shadersPassThroughDepth } from './Source/Shaders/PostProcessStages/PassThroughDepth.js';
923
+ export { default as _shadersPbrNeutralTonemapping } from './Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js';
924
+ export { default as _shadersPointCloudEyeDomeLighting } from './Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js';
925
+ export { default as _shadersReinhardTonemapping } from './Source/Shaders/PostProcessStages/ReinhardTonemapping.js';
926
+ export { default as _shadersSilhouette } from './Source/Shaders/PostProcessStages/Silhouette.js';
926
927
  export { default as _shadersIntersectBox } from './Source/Shaders/Voxels/IntersectBox.js';
927
928
  export { default as _shadersIntersectClippingPlanes } from './Source/Shaders/Voxels/IntersectClippingPlanes.js';
928
929
  export { default as _shadersIntersectCylinder } from './Source/Shaders/Voxels/IntersectCylinder.js';
@@ -968,6 +969,7 @@ export { default as AtmospherePipelineStage } from './Source/Scene/Model/Atmosph
968
969
  export { default as B3dmLoader } from './Source/Scene/Model/B3dmLoader.js';
969
970
  export { default as BatchTexturePipelineStage } from './Source/Scene/Model/BatchTexturePipelineStage.js';
970
971
  export { default as CPUStylingPipelineStage } from './Source/Scene/Model/CPUStylingPipelineStage.js';
972
+ export { default as CartesianRectangle } from './Source/Scene/Model/CartesianRectangle.js';
971
973
  export { default as ClassificationModelDrawCommand } from './Source/Scene/Model/ClassificationModelDrawCommand.js';
972
974
  export { default as ClassificationPipelineStage } from './Source/Scene/Model/ClassificationPipelineStage.js';
973
975
  export { default as CustomShader } from './Source/Scene/Model/CustomShader.js';
@@ -980,9 +982,15 @@ export { default as GeoJsonLoader } from './Source/Scene/Model/GeoJsonLoader.js'
980
982
  export { default as GeometryPipelineStage } from './Source/Scene/Model/GeometryPipelineStage.js';
981
983
  export { default as I3dmLoader } from './Source/Scene/Model/I3dmLoader.js';
982
984
  export { default as ImageBasedLightingPipelineStage } from './Source/Scene/Model/ImageBasedLightingPipelineStage.js';
985
+ export { default as ImageryConfiguration } from './Source/Scene/Model/ImageryConfiguration.js';
986
+ export { default as ImageryCoverage } from './Source/Scene/Model/ImageryCoverage.js';
987
+ export { default as ImageryFlags } from './Source/Scene/Model/ImageryFlags.js';
988
+ export { default as ImageryInput } from './Source/Scene/Model/ImageryInput.js';
989
+ export { default as ImageryPipelineStage } from './Source/Scene/Model/ImageryPipelineStage.js';
983
990
  export { default as InstancingPipelineStage } from './Source/Scene/Model/InstancingPipelineStage.js';
984
991
  export { default as LightingModel } from './Source/Scene/Model/LightingModel.js';
985
992
  export { default as LightingPipelineStage } from './Source/Scene/Model/LightingPipelineStage.js';
993
+ export { default as MappedPositions } from './Source/Scene/Model/MappedPositions.js';
986
994
  export { default as MaterialPipelineStage } from './Source/Scene/Model/MaterialPipelineStage.js';
987
995
  export { default as MetadataPickingPipelineStage } from './Source/Scene/Model/MetadataPickingPipelineStage.js';
988
996
  export { default as MetadataPipelineStage } from './Source/Scene/Model/MetadataPipelineStage.js';
@@ -1001,9 +1009,13 @@ export { default as ModelDrawCommand } from './Source/Scene/Model/ModelDrawComma
1001
1009
  export { default as ModelDrawCommands } from './Source/Scene/Model/ModelDrawCommands.js';
1002
1010
  export { default as ModelFeature } from './Source/Scene/Model/ModelFeature.js';
1003
1011
  export { default as ModelFeatureTable } from './Source/Scene/Model/ModelFeatureTable.js';
1012
+ export { default as ModelImagery } from './Source/Scene/Model/ModelImagery.js';
1013
+ export { default as ModelImageryMapping } from './Source/Scene/Model/ModelImageryMapping.js';
1004
1014
  export { default as ModelLightingOptions } from './Source/Scene/Model/ModelLightingOptions.js';
1005
1015
  export { default as ModelMatrixUpdateStage } from './Source/Scene/Model/ModelMatrixUpdateStage.js';
1006
1016
  export { default as ModelNode } from './Source/Scene/Model/ModelNode.js';
1017
+ export { default as ModelPrimitiveImagery } from './Source/Scene/Model/ModelPrimitiveImagery.js';
1018
+ export { default as ModelReader } from './Source/Scene/Model/ModelReader.js';
1007
1019
  export { default as ModelRenderResources } from './Source/Scene/Model/ModelRenderResources.js';
1008
1020
  export { default as ModelRuntimeNode } from './Source/Scene/Model/ModelRuntimeNode.js';
1009
1021
  export { default as ModelRuntimePrimitive } from './Source/Scene/Model/ModelRuntimePrimitive.js';
@@ -1036,14 +1048,6 @@ export { default as VaryingType } from './Source/Scene/Model/VaryingType.js';
1036
1048
  export { default as VerticalExaggerationPipelineStage } from './Source/Scene/Model/VerticalExaggerationPipelineStage.js';
1037
1049
  export { default as WireframePipelineStage } from './Source/Scene/Model/WireframePipelineStage.js';
1038
1050
  export { default as pickModel } from './Source/Scene/Model/pickModel.js';
1039
- export { default as _shadersdepthRangeStruct } from './Source/Shaders/Builtin/Structs/depthRangeStruct.js';
1040
- export { default as _shadersmaterial } from './Source/Shaders/Builtin/Structs/material.js';
1041
- export { default as _shadersmaterialInput } from './Source/Shaders/Builtin/Structs/materialInput.js';
1042
- export { default as _shadersmodelMaterial } from './Source/Shaders/Builtin/Structs/modelMaterial.js';
1043
- export { default as _shadersmodelVertexOutput } from './Source/Shaders/Builtin/Structs/modelVertexOutput.js';
1044
- export { default as _shadersray } from './Source/Shaders/Builtin/Structs/ray.js';
1045
- export { default as _shadersraySegment } from './Source/Shaders/Builtin/Structs/raySegment.js';
1046
- export { default as _shadersshadowParameters } from './Source/Shaders/Builtin/Structs/shadowParameters.js';
1047
1051
  export { default as _shadersdegreesPerRadian } from './Source/Shaders/Builtin/Constants/degreesPerRadian.js';
1048
1052
  export { default as _shadersdepthRange } from './Source/Shaders/Builtin/Constants/depthRange.js';
1049
1053
  export { default as _shadersepsilon1 } from './Source/Shaders/Builtin/Constants/epsilon1.js';
@@ -1082,6 +1086,14 @@ export { default as _shaderssolarRadius } from './Source/Shaders/Builtin/Constan
1082
1086
  export { default as _shadersthreePiOver2 } from './Source/Shaders/Builtin/Constants/threePiOver2.js';
1083
1087
  export { default as _shaderstwoPi } from './Source/Shaders/Builtin/Constants/twoPi.js';
1084
1088
  export { default as _shaderswebMercatorMaxLatitude } from './Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js';
1089
+ export { default as _shadersdepthRangeStruct } from './Source/Shaders/Builtin/Structs/depthRangeStruct.js';
1090
+ export { default as _shadersmaterial } from './Source/Shaders/Builtin/Structs/material.js';
1091
+ export { default as _shadersmaterialInput } from './Source/Shaders/Builtin/Structs/materialInput.js';
1092
+ export { default as _shadersmodelMaterial } from './Source/Shaders/Builtin/Structs/modelMaterial.js';
1093
+ export { default as _shadersmodelVertexOutput } from './Source/Shaders/Builtin/Structs/modelVertexOutput.js';
1094
+ export { default as _shadersray } from './Source/Shaders/Builtin/Structs/ray.js';
1095
+ export { default as _shadersraySegment } from './Source/Shaders/Builtin/Structs/raySegment.js';
1096
+ export { default as _shadersshadowParameters } from './Source/Shaders/Builtin/Structs/shadowParameters.js';
1085
1097
  export { default as _shadersHSBToRGB } from './Source/Shaders/Builtin/Functions/HSBToRGB.js';
1086
1098
  export { default as _shadersHSLToRGB } from './Source/Shaders/Builtin/Functions/HSLToRGB.js';
1087
1099
  export { default as _shadersRGBToHSB } from './Source/Shaders/Builtin/Functions/RGBToHSB.js';