@cesium/engine 24.0.0 → 25.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 (312) hide show
  1. package/Build/Workers/{chunk-NKT5K3K3.js → chunk-35H3UBIO.js} +13 -12
  2. package/Build/Workers/{chunk-5A2SW66E.js → chunk-3LSD7OOA.js} +16 -16
  3. package/Build/Workers/{chunk-HXJMS2ZI.js → chunk-3RFFPH4M.js} +1 -1
  4. package/Build/Workers/{chunk-EDXL4W76.js → chunk-3TKLDHV3.js} +2 -2
  5. package/Build/Workers/{chunk-GQUNK2XC.js → chunk-3VDDRF2E.js} +14 -14
  6. package/Build/Workers/{chunk-Q3C6VQH6.js → chunk-3XY3MVPG.js} +4 -4
  7. package/Build/Workers/{chunk-A47HVBC5.js → chunk-4GF4MVPY.js} +7 -7
  8. package/Build/Workers/{chunk-YQFTYQMZ.js → chunk-4MTRQFJP.js} +3 -2
  9. package/Build/Workers/{chunk-N65BAKSH.js → chunk-4QQXGTCE.js} +8 -8
  10. package/Build/Workers/{chunk-EV3VGO6Y.js → chunk-4XXHJI6Y.js} +17 -17
  11. package/Build/Workers/{chunk-DHKPFLSJ.js → chunk-5T6QQAJW.js} +3 -2
  12. package/Build/Workers/{chunk-UIGVOKKI.js → chunk-6SDGQI27.js} +3 -2
  13. package/Build/Workers/{chunk-ILMFADZA.js → chunk-77RL3MBD.js} +6 -5
  14. package/Build/Workers/{chunk-2N4KDHS3.js → chunk-7LSFAEWF.js} +12 -11
  15. package/Build/Workers/{chunk-44EMEGKW.js → chunk-A7A433MD.js} +5 -5
  16. package/Build/Workers/{chunk-J6AW5YHS.js → chunk-A7ZBMVFS.js} +14 -14
  17. package/Build/Workers/{chunk-XJRBB253.js → chunk-ACFFCHHZ.js} +11 -11
  18. package/Build/Workers/{chunk-MKM27KGV.js → chunk-AEAVLYPS.js} +2 -2
  19. package/Build/Workers/{chunk-7MDYBRYJ.js → chunk-AWFZHD2B.js} +4 -4
  20. package/Build/Workers/{chunk-UQU4RXLT.js → chunk-BTX2NL3P.js} +50 -45
  21. package/Build/Workers/{chunk-4TIG36AW.js → chunk-BVAIWR7O.js} +12 -12
  22. package/Build/Workers/chunk-CKQP3DSS.js +973 -0
  23. package/Build/Workers/{chunk-VLDEUTOP.js → chunk-CZ23Y3RM.js} +2 -2
  24. package/Build/Workers/{chunk-NPF7SSHZ.js → chunk-DFEI5MAV.js} +7 -7
  25. package/Build/Workers/{chunk-AJLTU6PF.js → chunk-DH26SNAB.js} +4 -1
  26. package/Build/Workers/{chunk-5GXYJQ2K.js → chunk-DYT5NR6P.js} +3 -3
  27. package/Build/Workers/{chunk-63SIWPLS.js → chunk-EZARA5FJ.js} +13 -13
  28. package/Build/Workers/{chunk-AMIHNSST.js → chunk-FIBS5S7R.js} +2 -2
  29. package/Build/Workers/{chunk-Y7HNNPNK.js → chunk-FVLVVOBQ.js} +10 -10
  30. package/Build/Workers/{chunk-XY6HMDGI.js → chunk-GL7DNVUS.js} +5 -5
  31. package/Build/Workers/{chunk-6WLHJFD3.js → chunk-GPIGURCG.js} +59 -32
  32. package/Build/Workers/{chunk-B6SCUUFP.js → chunk-H2A4USJR.js} +10 -10
  33. package/Build/Workers/chunk-HSVQATK2.js +147 -0
  34. package/Build/Workers/{chunk-72VYSVEW.js → chunk-HVMG6AG4.js} +11 -10
  35. package/Build/Workers/{chunk-LXMCPFFS.js → chunk-I3A6DXYZ.js} +4 -4
  36. package/Build/Workers/{chunk-7QRFIKWQ.js → chunk-ITD2IN7N.js} +2 -2
  37. package/Build/Workers/{chunk-RQNJD3O4.js → chunk-J3OFS2RD.js} +12 -12
  38. package/Build/Workers/{chunk-C6P4IG5P.js → chunk-J647NNZW.js} +6 -6
  39. package/Build/Workers/{chunk-7X322WP2.js → chunk-J7KQEKPK.js} +13 -13
  40. package/Build/Workers/{chunk-7O5XJTVE.js → chunk-K6NFIRFB.js} +5 -5
  41. package/Build/Workers/{chunk-AF3MU2RL.js → chunk-LH5SF3XV.js} +7 -6
  42. package/Build/Workers/{chunk-GOQBUCXH.js → chunk-ND3NTTOF.js} +708 -430
  43. package/Build/Workers/chunk-QO2CGXMP.js +2342 -0
  44. package/Build/Workers/chunk-QSDY4NS7.js +1287 -0
  45. package/Build/Workers/chunk-QXNQQYPV.js +3201 -0
  46. package/Build/Workers/{chunk-YAOZMOFL.js → chunk-ST2UWDUU.js} +5 -5
  47. package/Build/Workers/{chunk-PVV64VFW.js → chunk-TA777BGS.js} +3 -2
  48. package/Build/Workers/{chunk-ISY4EZCA.js → chunk-TAI4HLII.js} +4 -4
  49. package/Build/Workers/{chunk-JCI63T3K.js → chunk-URUCCIPS.js} +6 -6
  50. package/Build/Workers/{chunk-VMVOUQ5J.js → chunk-VQKLRBIK.js} +7 -7
  51. package/Build/Workers/{chunk-6MPGQEHA.js → chunk-WC57YYBN.js} +2 -2
  52. package/Build/Workers/{chunk-BJD6QGXZ.js → chunk-WN6P5UDH.js} +12 -12
  53. package/Build/Workers/{chunk-LIB2H534.js → chunk-WNN5D4W3.js} +12 -11
  54. package/Build/Workers/{chunk-D4EJ2NXG.js → chunk-WTQGE7Q6.js} +17 -17
  55. package/Build/Workers/{chunk-YJZGW74L.js → chunk-WUBKZFF6.js} +2213 -1349
  56. package/Build/Workers/{chunk-7TYLCBGK.js → chunk-ZAPOS52G.js} +12 -10
  57. package/Build/Workers/{chunk-6RMS4S72.js → chunk-ZCCIIBZT.js} +6 -6
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +175 -118
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +24 -23
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +10 -10
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  107. package/Build/Workers/transcodeKTX2.js +12 -9
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/ArcType.js +6 -1
  112. package/Source/Core/ArticulationStageType.js +5 -1
  113. package/Source/Core/AssociativeArray.js +100 -94
  114. package/Source/Core/BoundingSphere.js +1296 -1300
  115. package/Source/Core/Cartesian3.js +1 -2
  116. package/Source/Core/Cartographic.js +257 -249
  117. package/Source/Core/ClockRange.js +6 -1
  118. package/Source/Core/ClockStep.js +6 -1
  119. package/Source/Core/Color.js +844 -835
  120. package/Source/Core/ComponentDatatype.js +4 -1
  121. package/Source/Core/CornerType.js +6 -1
  122. package/Source/Core/Credit.js +121 -124
  123. package/Source/Core/Ellipsoid.js +637 -660
  124. package/Source/Core/ExtrapolationType.js +6 -1
  125. package/Source/Core/GeocodeType.js +6 -1
  126. package/Source/Core/GeographicProjection.js +74 -74
  127. package/Source/Core/GeographicTilingScheme.js +179 -198
  128. package/Source/Core/GeometryOffsetAttribute.js +7 -1
  129. package/Source/Core/GeometryType.js +7 -1
  130. package/Source/Core/HeightmapEncoding.js +6 -1
  131. package/Source/Core/Iau2006XysData.js +24 -13
  132. package/Source/Core/IndexDatatype.js +3 -1
  133. package/Source/Core/InterpolationType.js +5 -1
  134. package/Source/Core/Intersect.js +6 -1
  135. package/Source/Core/Ion.js +1 -1
  136. package/Source/Core/IonGeocodeProviderType.js +5 -1
  137. package/Source/Core/JulianDate.js +850 -848
  138. package/Source/Core/KeyboardEventModifier.js +6 -1
  139. package/Source/Core/MapProjection.js +39 -44
  140. package/Source/Core/Matrix2.js +906 -893
  141. package/Source/Core/Matrix3.js +1643 -1575
  142. package/Source/Core/Matrix4.js +2903 -2872
  143. package/Source/Core/PixelFormat.js +3 -1
  144. package/Source/Core/PrimitiveType.js +11 -1
  145. package/Source/Core/Ray.js +62 -60
  146. package/Source/Core/Rectangle.js +913 -904
  147. package/Source/Core/ReferenceFrame.js +6 -1
  148. package/Source/Core/RequestScheduler.js +8 -3
  149. package/Source/Core/RequestState.js +6 -1
  150. package/Source/Core/RequestType.js +6 -1
  151. package/Source/Core/ScreenSpaceEventType.js +6 -1
  152. package/Source/Core/TerrainQuantization.js +6 -1
  153. package/Source/Core/TilingScheme.js +100 -98
  154. package/Source/Core/TimeConstants.js +6 -1
  155. package/Source/Core/TimeStandard.js +6 -1
  156. package/Source/Core/TrackingReferenceFrame.js +6 -1
  157. package/Source/Core/Visibility.js +6 -1
  158. package/Source/Core/VulkanConstants.js +6 -1
  159. package/Source/Core/WebGLConstants.js +6 -1
  160. package/Source/Core/WebMercatorProjection.js +108 -109
  161. package/Source/Core/WebMercatorTilingScheme.js +246 -242
  162. package/Source/Core/WindingOrder.js +3 -1
  163. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +1 -0
  164. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -0
  165. package/Source/DataSources/StripeOrientation.js +6 -1
  166. package/Source/Renderer/BufferUsage.js +20 -9
  167. package/Source/Renderer/Context.js +2 -29
  168. package/Source/Renderer/DrawCommand.js +435 -403
  169. package/Source/Renderer/MipmapHint.js +5 -1
  170. package/Source/Renderer/Pass.js +7 -1
  171. package/Source/Renderer/PickId.js +44 -0
  172. package/Source/Renderer/PixelDatatype.js +3 -1
  173. package/Source/Renderer/RenderbufferFormat.js +5 -1
  174. package/Source/Renderer/ShaderDestination.js +4 -1
  175. package/Source/Renderer/TextureMagnificationFilter.js +3 -1
  176. package/Source/Renderer/TextureMinificationFilter.js +3 -1
  177. package/Source/Renderer/TextureWrap.js +5 -1
  178. package/Source/Scene/AlphaMode.js +5 -1
  179. package/Source/Scene/ArcGisBaseMapType.js +6 -1
  180. package/Source/Scene/ArcGisMapService.js +1 -1
  181. package/Source/Scene/AttributeType.js +3 -1
  182. package/Source/Scene/Axis.js +3 -1
  183. package/Source/Scene/BingMapsStyle.js +6 -1
  184. package/Source/Scene/BlendEquation.js +6 -1
  185. package/Source/Scene/BlendFunction.js +6 -1
  186. package/Source/Scene/BlendOption.js +6 -1
  187. package/Source/Scene/BlendingState.js +6 -1
  188. package/Source/Scene/BufferLoader.js +0 -2
  189. package/Source/Scene/BufferPointCollection.js +4 -1
  190. package/Source/Scene/BufferPolygonCollection.js +3 -1
  191. package/Source/Scene/BufferPolylineCollection.js +3 -1
  192. package/Source/Scene/BufferPrimitiveCollection.js +140 -24
  193. package/Source/Scene/CameraEventType.js +6 -1
  194. package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
  195. package/Source/Scene/Cesium3DTileContentState.js +6 -1
  196. package/Source/Scene/Cesium3DTileContentType.js +3 -1
  197. package/Source/Scene/Cesium3DTileFeature.js +289 -306
  198. package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
  199. package/Source/Scene/Cesium3DTilePass.js +5 -1
  200. package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
  201. package/Source/Scene/Cesium3DTileRefine.js +6 -1
  202. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  203. package/Source/Scene/Cesium3DTileset.js +1 -1
  204. package/Source/Scene/ClassificationType.js +3 -1
  205. package/Source/Scene/CloudType.js +3 -1
  206. package/Source/Scene/ColorBlendMode.js +4 -1
  207. package/Source/Scene/CullFace.js +6 -1
  208. package/Source/Scene/DepthFunction.js +6 -1
  209. package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
  210. package/Source/Scene/EquirectangularPanorama.js +1 -0
  211. package/Source/Scene/ExpressionNodeType.js +6 -1
  212. package/Source/Scene/GltfBufferViewLoader.js +0 -2
  213. package/Source/Scene/GltfDracoLoader.js +0 -2
  214. package/Source/Scene/GltfImageLoader.js +0 -3
  215. package/Source/Scene/GltfIndexBufferLoader.js +0 -4
  216. package/Source/Scene/GltfJsonLoader.js +0 -2
  217. package/Source/Scene/GltfLoader.js +0 -5
  218. package/Source/Scene/GltfLoaderUtil.js +14 -0
  219. package/Source/Scene/GltfSpzLoader.js +0 -2
  220. package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
  221. package/Source/Scene/GltfTextureLoader.js +0 -2
  222. package/Source/Scene/GltfVertexBufferLoader.js +0 -4
  223. package/Source/Scene/HeightReference.js +5 -1
  224. package/Source/Scene/HorizontalOrigin.js +6 -1
  225. package/Source/Scene/ImageryProvider.js +1 -1
  226. package/Source/Scene/ImageryState.js +6 -1
  227. package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
  228. package/Source/Scene/InstanceAttributeSemantic.js +3 -1
  229. package/Source/Scene/IonWorldImageryStyle.js +6 -1
  230. package/Source/Scene/JobType.js +6 -1
  231. package/Source/Scene/LabelStyle.js +6 -1
  232. package/Source/Scene/MapMode2D.js +6 -1
  233. package/Source/Scene/MetadataComponentType.js +3 -1
  234. package/Source/Scene/MetadataSchemaLoader.js +0 -2
  235. package/Source/Scene/MetadataSemantic.js +6 -2
  236. package/Source/Scene/MetadataType.js +3 -1
  237. package/Source/Scene/Model/B3dmLoader.js +0 -3
  238. package/Source/Scene/Model/CustomShaderMode.js +3 -1
  239. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
  240. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +44 -71
  241. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
  242. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
  243. package/Source/Scene/Model/GeoJsonLoader.js +0 -2
  244. package/Source/Scene/Model/I3dmLoader.js +0 -3
  245. package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
  246. package/Source/Scene/Model/LightingModel.js +5 -1
  247. package/Source/Scene/Model/MaterialPipelineStage.js +184 -3
  248. package/Source/Scene/Model/ModelReader.js +474 -3
  249. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
  250. package/Source/Scene/Model/ModelType.js +3 -1
  251. package/Source/Scene/Model/PntsLoader.js +4 -3
  252. package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
  253. package/Source/Scene/Model/UniformType.js +5 -1
  254. package/Source/Scene/Model/VaryingType.js +5 -1
  255. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +73 -28
  256. package/Source/Scene/Model/pickModel.js +94 -299
  257. package/Source/Scene/ModelAnimationLoop.js +6 -1
  258. package/Source/Scene/ModelAnimationState.js +6 -1
  259. package/Source/Scene/ModelComponents.js +8 -1
  260. package/Source/Scene/PrimitiveState.js +7 -1
  261. package/Source/Scene/QuadtreeOccluders.js +20 -15
  262. package/Source/Scene/QuadtreeTile.js +547 -541
  263. package/Source/Scene/QuadtreeTileLoadState.js +6 -1
  264. package/Source/Scene/QuadtreeTileProvider.js +159 -175
  265. package/Source/Scene/ResourceLoader.js +0 -1
  266. package/Source/Scene/ResourceLoaderState.js +7 -1
  267. package/Source/Scene/SceneMode.js +4 -1
  268. package/Source/Scene/ShadowMode.js +3 -1
  269. package/Source/Scene/SkyBox.js +1 -1
  270. package/Source/Scene/SplitDirection.js +6 -1
  271. package/Source/Scene/StencilFunction.js +6 -1
  272. package/Source/Scene/StencilOperation.js +6 -1
  273. package/Source/Scene/TerrainState.js +7 -1
  274. package/Source/Scene/TileState.js +7 -1
  275. package/Source/Scene/Tonemapper.js +5 -1
  276. package/Source/Scene/VectorGltf3DTileContent.js +72 -51
  277. package/Source/Scene/VertexAttributeSemantic.js +3 -1
  278. package/Source/Scene/VerticalOrigin.js +6 -1
  279. package/Source/Scene/VoxelBoxShape.js +12 -6
  280. package/Source/Scene/VoxelContent.js +2 -0
  281. package/Source/Scene/VoxelCylinderShape.js +39 -38
  282. package/Source/Scene/VoxelEllipsoidShape.js +46 -96
  283. package/Source/Scene/VoxelMetadataOrder.js +6 -1
  284. package/Source/Scene/VoxelProvider.js +1 -0
  285. package/Source/Scene/VoxelShapeType.js +3 -1
  286. package/Source/Scene/renderBufferPointCollection.js +17 -66
  287. package/Source/Scene/renderBufferPolygonCollection.js +21 -68
  288. package/Source/Scene/renderBufferPolylineCollection.js +22 -73
  289. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  290. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  291. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  292. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  293. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  294. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  295. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  296. package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
  297. package/Source/Shaders/Model/MaterialStageFS.js +46 -20
  298. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
  299. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
  300. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
  301. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
  302. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
  303. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
  304. package/Source/Widget/CesiumWidget.js +11 -4
  305. package/index.d.ts +343 -309
  306. package/index.js +443 -438
  307. package/package.json +2 -2
  308. package/Build/Workers/chunk-DVB56LG7.js +0 -114
  309. package/Build/Workers/chunk-HKUES6UG.js +0 -2357
  310. package/Build/Workers/chunk-HRHRYFHS.js +0 -940
  311. package/Build/Workers/chunk-KLPGTXS3.js +0 -642
  312. package/Build/Workers/chunk-ZBZRTRJB.js +0 -1829
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * An enum of storage types for covariance information.
3
5
  *
@@ -27,4 +29,6 @@ const StorageType = {
27
29
  Indirect: "Indirect",
28
30
  };
29
31
 
30
- export default Object.freeze(StorageType);
32
+ Object.freeze(StorageType);
33
+
34
+ export default StorageType;
@@ -56,7 +56,6 @@ class GeoJsonLoader extends ResourceLoader {
56
56
  /**
57
57
  * The cache key of the resource.
58
58
  *
59
- * @memberof GeoJsonLoader.prototype
60
59
  *
61
60
  * @type {string}
62
61
  * @readonly
@@ -69,7 +68,6 @@ class GeoJsonLoader extends ResourceLoader {
69
68
  /**
70
69
  * The loaded components.
71
70
  *
72
- * @memberof GeoJsonLoader.prototype
73
71
  *
74
72
  * @type {ModelComponents.Components}
75
73
  * @readonly
@@ -129,7 +129,6 @@ class I3dmLoader extends ResourceLoader {
129
129
  /**
130
130
  * true if textures are loaded, useful when incrementallyLoadTextures is true
131
131
  *
132
- * @memberof I3dmLoader.prototype
133
132
  *
134
133
  * @type {boolean}
135
134
  * @readonly
@@ -142,7 +141,6 @@ class I3dmLoader extends ResourceLoader {
142
141
  /**
143
142
  * The cache key of the resource
144
143
  *
145
- * @memberof I3dmLoader.prototype
146
144
  *
147
145
  * @type {string}
148
146
  * @readonly
@@ -155,7 +153,6 @@ class I3dmLoader extends ResourceLoader {
155
153
  /**
156
154
  * The loaded components.
157
155
  *
158
- * @memberof I3dmLoader.prototype
159
156
  *
160
157
  * @type {ModelComponents.Components}
161
158
  * @default {@link Matrix4.IDENTITY}
@@ -706,7 +706,7 @@ function processTransformAttributes(
706
706
  );
707
707
 
708
708
  // Only use matrices for the transforms if the rotation attribute is defined.
709
- if (defined(rotationAttribute)) {
709
+ if (defined(rotationAttribute) || keepTypedArray) {
710
710
  processTransformMatrixAttributes(
711
711
  renderResources,
712
712
  instances,
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * The lighting model to use for lighting a {@link Model}.
3
5
  *
@@ -27,4 +29,6 @@ const LightingModel = {
27
29
  PBR: 1,
28
30
  };
29
31
 
30
- export default Object.freeze(LightingModel);
32
+ Object.freeze(LightingModel);
33
+
34
+ export default LightingModel;
@@ -2,9 +2,13 @@ import defined from "../../Core/defined.js";
2
2
  import Cartesian3 from "../../Core/Cartesian3.js";
3
3
  import Cartesian4 from "../../Core/Cartesian4.js";
4
4
  import Matrix3 from "../../Core/Matrix3.js";
5
+ import Matrix4 from "../../Core/Matrix4.js";
6
+ import Transforms from "../../Core/Transforms.js";
5
7
  import ShaderDestination from "../../Renderer/ShaderDestination.js";
6
8
  import Pass from "../../Renderer/Pass.js";
7
9
  import MaterialStageFS from "../../Shaders/Model/MaterialStageFS.js";
10
+ import ConstantLodStageVS from "../../Shaders/Model/ConstantLodStageVS.js";
11
+ import ConstantLodStageFS from "../../Shaders/Model/ConstantLodStageFS.js";
8
12
  import AlphaMode from "../AlphaMode.js";
9
13
  import ModelComponents from "../ModelComponents.js";
10
14
  import VertexAttributeSemantic from "../VertexAttributeSemantic.js";
@@ -61,6 +65,25 @@ MaterialPipelineStage.process = function (
61
65
  const material = primitive.material;
62
66
  const { model, uniformMap, shaderBuilder } = renderResources;
63
67
 
68
+ if (!defined(uniformMap.u_constantLodDistance)) {
69
+ uniformMap.u_constantLodDistance = function () {
70
+ const boundingSphere = model.boundingSphere;
71
+ const camera = frameState.camera;
72
+
73
+ if (defined(boundingSphere) && defined(camera)) {
74
+ const distance = Cartesian3.distance(
75
+ camera.positionWC,
76
+ boundingSphere.center,
77
+ );
78
+ // Clamp to a minimum small distance to avoid calling log2(0) in shader
79
+ return Math.max(distance, 0.1);
80
+ }
81
+
82
+ // Return a fallback distance before camera/bounding sphere are available
83
+ return 1.0;
84
+ };
85
+ }
86
+
64
87
  // Classification models only use position and feature ID attributes,
65
88
  // so textures should be disabled to avoid compile errors.
66
89
  const hasClassification = defined(model.classificationType);
@@ -78,6 +101,7 @@ MaterialPipelineStage.process = function (
78
101
  defaultNormalTexture,
79
102
  defaultEmissiveTexture,
80
103
  disableTextures,
104
+ renderResources,
81
105
  );
82
106
 
83
107
  if (defined(material.specularGlossiness)) {
@@ -87,6 +111,7 @@ MaterialPipelineStage.process = function (
87
111
  shaderBuilder,
88
112
  defaultTexture,
89
113
  disableTextures,
114
+ renderResources,
90
115
  );
91
116
  } else {
92
117
  if (
@@ -131,6 +156,7 @@ MaterialPipelineStage.process = function (
131
156
  shaderBuilder,
132
157
  defaultTexture,
133
158
  disableTextures,
159
+ renderResources,
134
160
  );
135
161
  }
136
162
 
@@ -206,6 +232,112 @@ MaterialPipelineStage.process = function (
206
232
  }
207
233
  };
208
234
 
235
+ /**
236
+ * Process constant LOD extension for a texture
237
+ *
238
+ * @param {ShaderBuilder} shaderBuilder The shader builder to modify
239
+ * @param {Object<string, Function>} uniformMap The uniform map to modify.
240
+ * @param {ModelComponents.TextureReader} textureReader The texture to add to the shader
241
+ * @param {string} uniformName The name of the sampler uniform
242
+ * @param {string} defineName The name of the texture for use in the defines
243
+ * @param {PrimitiveRenderResources|undefined} renderResources The render resources
244
+ * @private
245
+ */
246
+ function processConstantLod(
247
+ shaderBuilder,
248
+ uniformMap,
249
+ textureReader,
250
+ uniformName,
251
+ defineName,
252
+ renderResources,
253
+ ) {
254
+ const constantLod = textureReader.constantLod;
255
+
256
+ if (!defined(constantLod)) {
257
+ return;
258
+ }
259
+
260
+ // renderResources is required for constant LOD to transform from ECEF/world coordinates to ENU
261
+ if (!defined(renderResources)) {
262
+ return;
263
+ }
264
+
265
+ const constantLodDefine = `HAS_${defineName}_CONSTANT_LOD`;
266
+ shaderBuilder.addDefine(constantLodDefine, undefined, ShaderDestination.BOTH);
267
+
268
+ if (!defined(uniformMap.u_constantLodOffset)) {
269
+ shaderBuilder.addDefine(
270
+ "HAS_CONSTANT_LOD",
271
+ undefined,
272
+ ShaderDestination.BOTH,
273
+ );
274
+
275
+ shaderBuilder.addVarying("vec3", "v_constantLodUvCustom");
276
+
277
+ shaderBuilder.addUniform(
278
+ "vec2",
279
+ "u_constantLodOffset",
280
+ ShaderDestination.VERTEX,
281
+ );
282
+
283
+ shaderBuilder.addUniform(
284
+ "float",
285
+ "u_constantLodDistance",
286
+ ShaderDestination.VERTEX,
287
+ );
288
+
289
+ shaderBuilder.addUniform(
290
+ "mat4",
291
+ "u_constantLodWorldToEnu",
292
+ ShaderDestination.VERTEX,
293
+ );
294
+
295
+ shaderBuilder.addFragmentLines(ConstantLodStageFS);
296
+
297
+ const constantLodLines = ConstantLodStageVS.split("\n").filter((line) => {
298
+ return !line.trim().startsWith("//") || line.includes("#");
299
+ });
300
+ shaderBuilder.addFunctionLines("setDynamicVaryingsVS", constantLodLines);
301
+ }
302
+
303
+ const paramsUniformName = `${uniformName}ConstantLodParams`;
304
+ shaderBuilder.addUniform(
305
+ "vec3",
306
+ paramsUniformName,
307
+ ShaderDestination.FRAGMENT,
308
+ );
309
+
310
+ uniformMap[paramsUniformName] = function () {
311
+ return new Cartesian3(
312
+ constantLod.minClampDistance,
313
+ constantLod.maxClampDistance,
314
+ constantLod.repetitions,
315
+ );
316
+ };
317
+
318
+ if (!defined(uniformMap.u_constantLodOffset)) {
319
+ uniformMap.u_constantLodOffset = function () {
320
+ return constantLod.offset;
321
+ };
322
+
323
+ const enuMatrixInverse = Matrix4.clone(Matrix4.IDENTITY);
324
+ let matrixComputed = false;
325
+
326
+ uniformMap.u_constantLodWorldToEnu = function () {
327
+ if (!matrixComputed) {
328
+ const boundingSphere = renderResources.model.boundingSphere;
329
+ if (defined(boundingSphere)) {
330
+ const modelCenter = boundingSphere.center;
331
+ const enuFrame = Transforms.eastNorthUpToFixedFrame(modelCenter);
332
+ Matrix4.inverse(enuFrame, enuMatrixInverse);
333
+ matrixComputed = true;
334
+ }
335
+ }
336
+ return matrixComputed ? enuMatrixInverse : Matrix4.IDENTITY;
337
+ };
338
+ }
339
+ }
340
+
209
341
  /**
210
342
  * Add uniforms and defines for the BENTLEY_materials_line_style extension.
211
343
  *
@@ -426,6 +558,8 @@ function processTextureScale(
426
558
  * @param {ModelComponents.TextureReader} textureReader The texture to add to the shader
427
559
  * @param {string} uniformName The name of the sampler uniform such as <code>u_baseColorTexture</code>
428
560
  * @param {string} defineName The name of the texture for use in the defines, minus any prefix or suffix. For example, "BASE_COLOR" or "EMISSIVE"
561
+ * @param {Texture} defaultTexture The default texture to use as a fallback if the texture is not yet loaded
562
+ * @param {PrimitiveRenderResources|undefined} renderResources The render resources
429
563
  *
430
564
  * @private
431
565
  */
@@ -436,6 +570,7 @@ function processTexture(
436
570
  uniformName,
437
571
  defineName,
438
572
  defaultTexture,
573
+ renderResources,
439
574
  ) {
440
575
  // Add a uniform for the texture itself
441
576
  shaderBuilder.addUniform(
@@ -487,6 +622,16 @@ function processTexture(
487
622
  defineName,
488
623
  );
489
624
  }
625
+
626
+ // Process constant LOD extension if present
627
+ processConstantLod(
628
+ shaderBuilder,
629
+ uniformMap,
630
+ textureReader,
631
+ uniformName,
632
+ defineName,
633
+ renderResources,
634
+ );
490
635
  }
491
636
 
492
637
  function processMaterialUniforms(
@@ -497,6 +642,7 @@ function processMaterialUniforms(
497
642
  defaultNormalTexture,
498
643
  defaultEmissiveTexture,
499
644
  disableTextures,
645
+ renderResources,
500
646
  ) {
501
647
  const { emissiveFactor, emissiveTexture, normalTexture, occlusionTexture } =
502
648
  material;
@@ -531,14 +677,43 @@ function processMaterialUniforms(
531
677
  }
532
678
  }
533
679
 
680
+ // Extract base color constant LOD to apply to normal texture
681
+ let baseColorConstantLod;
682
+ if (
683
+ defined(material.metallicRoughness) &&
684
+ defined(material.metallicRoughness.baseColorTexture) &&
685
+ defined(material.metallicRoughness.baseColorTexture.constantLod)
686
+ ) {
687
+ baseColorConstantLod =
688
+ material.metallicRoughness.baseColorTexture.constantLod;
689
+ } else if (
690
+ defined(material.specularGlossiness) &&
691
+ defined(material.specularGlossiness.diffuseTexture) &&
692
+ defined(material.specularGlossiness.diffuseTexture.constantLod)
693
+ ) {
694
+ baseColorConstantLod =
695
+ material.specularGlossiness.diffuseTexture.constantLod;
696
+ }
697
+
534
698
  if (defined(normalTexture) && !disableTextures) {
699
+ // If normal texture AND base color have constant LOD, use base color's constant LOD properties to keep textures in sync
700
+ let normalTextureToProcess = normalTexture;
701
+ if (defined(normalTexture.constantLod) && defined(baseColorConstantLod)) {
702
+ normalTextureToProcess = Object.create(
703
+ Object.getPrototypeOf(normalTexture),
704
+ );
705
+ Object.assign(normalTextureToProcess, normalTexture);
706
+ normalTextureToProcess.constantLod = baseColorConstantLod;
707
+ }
708
+
535
709
  processTexture(
536
710
  shaderBuilder,
537
711
  uniformMap,
538
- normalTexture,
712
+ normalTextureToProcess,
539
713
  "u_normalTexture",
540
714
  "NORMAL",
541
715
  defaultNormalTexture,
716
+ renderResources,
542
717
  );
543
718
  }
544
719
 
@@ -560,8 +735,9 @@ function processMaterialUniforms(
560
735
  * @param {ModelComponents.SpecularGlossiness} specularGlossiness
561
736
  * @param {Object<string, Function>} uniformMap The uniform map to modify.
562
737
  * @param {ShaderBuilder} shaderBuilder
563
- * @param {Texture} defaultTexture
738
+ * @param {Texture} defaultTexture The default texture to use as a fallback if the texture is not yet loaded
564
739
  * @param {boolean} disableTextures
740
+ * @param {PrimitiveRenderResources|undefined} renderResources The render resources for the primitive
565
741
  * @private
566
742
  */
567
743
  function processSpecularGlossinessUniforms(
@@ -570,6 +746,7 @@ function processSpecularGlossinessUniforms(
570
746
  shaderBuilder,
571
747
  defaultTexture,
572
748
  disableTextures,
749
+ renderResources,
573
750
  ) {
574
751
  const {
575
752
  diffuseTexture,
@@ -593,6 +770,7 @@ function processSpecularGlossinessUniforms(
593
770
  "u_diffuseTexture",
594
771
  "DIFFUSE",
595
772
  defaultTexture,
773
+ renderResources,
596
774
  );
597
775
  }
598
776
 
@@ -925,8 +1103,9 @@ function processClearcoatUniforms(
925
1103
  * @param {ModelComponents.MetallicRoughness} metallicRoughness
926
1104
  * @param {Object<string, Function>} uniformMap The uniform map to modify.
927
1105
  * @param {ShaderBuilder} shaderBuilder
928
- * @param {Texture} defaultTexture
1106
+ * @param {Texture} defaultTexture The default texture to use as a fallback if the texture is not yet loaded
929
1107
  * @param {boolean} disableTextures
1108
+ * @param {PrimitiveRenderResources|undefined} renderResources The render resources for the primitive
930
1109
  * @private
931
1110
  */
932
1111
  function processMetallicRoughnessUniforms(
@@ -935,6 +1114,7 @@ function processMetallicRoughnessUniforms(
935
1114
  shaderBuilder,
936
1115
  defaultTexture,
937
1116
  disableTextures,
1117
+ renderResources,
938
1118
  ) {
939
1119
  shaderBuilder.addDefine(
940
1120
  "USE_METALLIC_ROUGHNESS",
@@ -951,6 +1131,7 @@ function processMetallicRoughnessUniforms(
951
1131
  "u_baseColorTexture",
952
1132
  "BASE_COLOR",
953
1133
  defaultTexture,
1134
+ renderResources,
954
1135
  );
955
1136
  }
956
1137