@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
@@ -18,6 +18,7 @@ import Pass from "../Renderer/Pass.js";
18
18
  import createVectorTileBuffersFromModelComponents from "./Model/createVectorTileBuffersFromModelComponents.js";
19
19
  import defined from "../Core/defined.js";
20
20
  import destroyObject from "../Core/destroyObject.js";
21
+ import DeveloperError from "../Core/DeveloperError.js";
21
22
 
22
23
  /** @import BufferPrimitive from "./BufferPrimitive.js"; */
23
24
  /** @import BufferPrimitiveCollection from "./BufferPrimitiveCollection.js"; */
@@ -25,7 +26,7 @@ import destroyObject from "../Core/destroyObject.js";
25
26
  /** @import Cesium3DContentGroup from "./Cesium3DContentGroup.js"; */
26
27
  /** @import Cesium3DTile from "./Cesium3DTile.js"; */
27
28
  /** @import Cesium3DTileBatchTable from "./Cesium3DTileBatchTable.js"; */
28
- /** @import Cesium3DTileFeature from "./Cesium3DTileFeature.js"; */
29
+ /** @import Cesium3DTileVectorFeature from "./Cesium3DTileVectorFeature.js";*/
29
30
  /** @import Cesium3DTileset from "./Cesium3DTileset.js"; */
30
31
  /** @import FrameState from "./FrameState.js"; */
31
32
  /** @import ImplicitMetadataView from "./ImplicitMetadataView.js"; */
@@ -70,7 +71,7 @@ class VectorGltf3DTileContent {
70
71
  this._resource = resource;
71
72
 
72
73
  /** @type {Model} */
73
- this._decodeModel = undefined;
74
+ this._model = undefined;
74
75
 
75
76
  /** @type {Array<BufferPrimitiveCollection<BufferPrimitive>>} */
76
77
  this._collections = [];
@@ -78,6 +79,9 @@ class VectorGltf3DTileContent {
78
79
  /** @type {Array<Matrix4>} */
79
80
  this._collectionLocalMatrices = [];
80
81
 
82
+ /** @type {Map<number, Cesium3DTileVectorFeature>} */
83
+ this._features = new Map();
84
+
81
85
  /** @type {ImplicitMetadataView} */
82
86
  this._metadata = undefined;
83
87
  /** @type {Cesium3DContentGroup} */
@@ -94,25 +98,27 @@ class VectorGltf3DTileContent {
94
98
  }
95
99
 
96
100
  get featuresLength() {
97
- return this._collections.reduce((totalCount, collection) => {
98
- return totalCount + collection.primitiveCount;
99
- }, 0);
101
+ return this._collections.reduce(
102
+ (acc, collection) => acc + collection.primitiveCount,
103
+ 0,
104
+ );
100
105
  }
101
106
 
102
107
  get pointsLength() {
103
108
  return this._collections
104
109
  .filter((collection) => collection instanceof BufferPointCollection)
105
- .reduce((totalPoints, collection) => {
106
- return totalPoints + collection.primitiveCount;
107
- }, 0);
110
+ .reduce((acc, collection) => acc + collection.primitiveCount, 0);
108
111
  }
109
112
 
110
113
  get trianglesLength() {
111
- return this._collections
112
- .filter((collection) => collection instanceof BufferPolygonCollection)
113
- .reduce((totalPoints, collection) => {
114
- return totalPoints + collection.triangleCount;
115
- }, 0);
114
+ return this._collections.reduce((acc, collection) => {
115
+ if (collection instanceof BufferPolygonCollection) {
116
+ return acc + collection.triangleCount;
117
+ } else if (collection instanceof BufferPolylineCollection) {
118
+ return acc + (collection.vertexCount - collection.primitiveCount) * 2;
119
+ }
120
+ return acc;
121
+ }, 0);
116
122
  }
117
123
 
118
124
  get geometryByteLength() {
@@ -150,9 +156,17 @@ class VectorGltf3DTileContent {
150
156
  return this._resource.getUrlComponent(true);
151
157
  }
152
158
 
153
- /** @type {Cesium3DTileBatchTable} */
159
+ /** @type {Cesium3DTileBatchTable[]} */
160
+ get batchTables() {
161
+ return this._model._featureTables;
162
+ }
163
+
164
+ /**
165
+ * @type {Cesium3DTileBatchTable}
166
+ * @deprecated See {@link batchTables}.
167
+ */
154
168
  get batchTable() {
155
- return undefined;
169
+ throw new DeveloperError("Deprecated: Use `content.batchTables`.");
156
170
  }
157
171
 
158
172
  /** @type {ImplicitMetadataView} */
@@ -174,20 +188,21 @@ class VectorGltf3DTileContent {
174
188
  }
175
189
 
176
190
  /**
177
- * @param {number} _featureId
178
- * @returns {Cesium3DTileFeature}
191
+ * @param {number} featureId
192
+ * @returns {Cesium3DTileVectorFeature}
179
193
  */
180
- getFeature(_featureId) {
181
- return undefined;
194
+ getFeature(featureId) {
195
+ return this._features.get(featureId);
182
196
  }
183
197
 
184
198
  /**
185
- * @param {number} _featureId
186
- * @param {string} _name
199
+ * @param {number} featureId
200
+ * @param {string} name
187
201
  * @returns {boolean}
188
202
  */
189
- hasProperty(_featureId, _name) {
190
- return false;
203
+ hasProperty(featureId, name) {
204
+ const feature = this.getFeature(featureId);
205
+ return feature ? feature.hasProperty(name) : false;
191
206
  }
192
207
 
193
208
  /**
@@ -203,9 +218,6 @@ class VectorGltf3DTileContent {
203
218
  * @param {*} style
204
219
  */
205
220
  applyStyle(style) {
206
- const show = style.show?.evaluate(null) ?? true;
207
- const color = style.color?.evaluate(null, new Color());
208
-
209
221
  const isPointCollection = /** @param {unknown} c */ (c) =>
210
222
  c instanceof BufferPointCollection;
211
223
  const isPolylineCollection = /** @param {unknown} c */ (c) =>
@@ -213,33 +225,42 @@ class VectorGltf3DTileContent {
213
225
  const isPolygonCollection = /** @param {unknown} c */ (c) =>
214
226
  c instanceof BufferPolygonCollection;
215
227
 
216
- Color.clone(color, pointMaterial.color);
217
- pointMaterial.size = style.pointSize?.evaluate(null);
218
- pointMaterial.outlineWidth = style.pointOutlineWidth?.evaluate(null);
219
- style.pointOutlineColor?.evaluate(null, pointMaterial.outlineColor);
220
228
  for (const collection of this._collections.filter(isPointCollection)) {
221
229
  for (let i = 0, il = collection.primitiveCount; i < il; i++) {
222
230
  collection.get(i, point);
223
- point.show = show;
231
+ const feature = this.getFeature(point.featureId);
232
+
233
+ point.show = style.show?.evaluate(feature) ?? true;
234
+ style.color?.evaluate(feature, pointMaterial.color);
235
+ pointMaterial.size = style.pointSize?.evaluate(feature);
236
+ pointMaterial.outlineWidth = style.pointOutlineWidth?.evaluate(feature);
237
+ style.pointOutlineColor?.evaluate(feature, pointMaterial.outlineColor);
238
+
224
239
  point.setMaterial(pointMaterial);
225
240
  }
226
241
  }
227
242
 
228
- Color.clone(color, polylineMaterial.color);
229
- polylineMaterial.width = style.lineWidth?.evaluate(null) ?? 1;
230
243
  for (const collection of this._collections.filter(isPolylineCollection)) {
231
244
  for (let i = 0, il = collection.primitiveCount; i < il; i++) {
232
245
  collection.get(i, polyline);
233
- polyline.show = show;
246
+ const feature = this.getFeature(polyline.featureId);
247
+
248
+ polyline.show = style.show?.evaluate(feature) ?? true;
249
+ style.color?.evaluate(feature, polylineMaterial.color);
250
+ polylineMaterial.width = style.lineWidth?.evaluate(feature) ?? 1;
251
+
234
252
  polyline.setMaterial(polylineMaterial);
235
253
  }
236
254
  }
237
255
 
238
- Color.clone(color, polygonMaterial.color);
239
256
  for (const collection of this._collections.filter(isPolygonCollection)) {
240
257
  for (let i = 0, il = collection.primitiveCount; i < il; i++) {
241
258
  collection.get(i, polygon);
242
- polygon.show = show;
259
+ const feature = this.getFeature(polygon.featureId);
260
+
261
+ polygon.show = style.show?.evaluate(feature) ?? true;
262
+ style.color?.evaluate(feature, polygonMaterial.color);
263
+
243
264
  polygon.setMaterial(polygonMaterial);
244
265
  }
245
266
  }
@@ -250,18 +271,14 @@ class VectorGltf3DTileContent {
250
271
  * @param {FrameState} frameState
251
272
  */
252
273
  update(_tileset, frameState) {
253
- if (defined(this._decodeModel) && !this._ready) {
254
- const model = this._decodeModel;
274
+ if (defined(this._model) && !this._ready) {
275
+ const model = this._model;
255
276
  model.modelMatrix = this._tile.computedTransform;
256
277
  model.update(frameState);
257
278
 
258
279
  // @ts-expect-error Requires Model conversion to ES6 class.
259
280
  if (model.ready) {
260
281
  initializeVectorPrimitives(this);
261
- if (this._decodeModel) {
262
- this._decodeModel.destroy();
263
- this._decodeModel = undefined;
264
- }
265
282
  this._ready = true;
266
283
  }
267
284
  }
@@ -297,8 +314,8 @@ class VectorGltf3DTileContent {
297
314
  }
298
315
 
299
316
  destroy() {
300
- this._decodeModel?.destroy();
301
- this._decodeModel = undefined;
317
+ this._model?.destroy();
318
+ this._model = undefined;
302
319
  this._collections.forEach((collection) => collection.destroy());
303
320
  this._collections.length = 0;
304
321
  return destroyObject(this);
@@ -313,11 +330,11 @@ class VectorGltf3DTileContent {
313
330
  */
314
331
  static async fromGltf(tileset, tile, resource, gltf) {
315
332
  const content = new VectorGltf3DTileContent(tileset, tile, resource);
316
- const modelOptions = makeDecodeModelOptions(tileset, tile, content, gltf);
317
- const decodeModel = await Model.fromGltfAsync(modelOptions);
333
+ const modelOptions = makeModelOptions(tileset, tile, content, gltf);
334
+ const model = await Model.fromGltfAsync(modelOptions);
318
335
  // @ts-expect-error Requires Model conversion to ES6 class.
319
- decodeModel.show = false;
320
- content._decodeModel = decodeModel;
336
+ model.show = false;
337
+ content._model = model;
321
338
  return content;
322
339
  }
323
340
  }
@@ -330,7 +347,7 @@ class VectorGltf3DTileContent {
330
347
  * @returns {*}
331
348
  * @ignore
332
349
  */
333
- function makeDecodeModelOptions(tileset, tile, content, gltf) {
350
+ function makeModelOptions(tileset, tile, content, gltf) {
334
351
  return {
335
352
  gltf: gltf,
336
353
  basePath: content._resource,
@@ -359,7 +376,7 @@ function makeDecodeModelOptions(tileset, tile, content, gltf) {
359
376
  */
360
377
  function initializeVectorPrimitives(content) {
361
378
  // @ts-expect-error Requires Model conversion to ES6 class.
362
- const components = content._decodeModel.sceneGraph.components;
379
+ const components = content._model.sceneGraph.components;
363
380
 
364
381
  const axisCorrection = ModelUtility.getAxisCorrectionMatrix(
365
382
  components.upAxis,
@@ -373,10 +390,14 @@ function initializeVectorPrimitives(content) {
373
390
  content._modelMatrix,
374
391
  );
375
392
 
376
- const result = createVectorTileBuffersFromModelComponents(this, components);
393
+ const result = createVectorTileBuffersFromModelComponents(
394
+ content,
395
+ components,
396
+ );
377
397
 
378
398
  content._collections = result.collections;
379
399
  content._collectionLocalMatrices = result.collectionLocalMatrices;
400
+ content._features = result.features;
380
401
  }
381
402
 
382
403
  export default VectorGltf3DTileContent;
@@ -316,4 +316,6 @@ VertexAttributeSemantic.getVariableName = function (semantic, setIndex) {
316
316
  return variableName;
317
317
  };
318
318
 
319
- export default Object.freeze(VertexAttributeSemantic);
319
+ Object.freeze(VertexAttributeSemantic);
320
+
321
+ export default VertexAttributeSemantic;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * The vertical location of an origin relative to an object, e.g., a {@link Billboard}
3
5
  * or {@link Label}. For example, setting the vertical origin to <code>TOP</code>
@@ -46,4 +48,7 @@ const VerticalOrigin = {
46
48
  */
47
49
  TOP: -1,
48
50
  };
49
- export default Object.freeze(VerticalOrigin);
51
+
52
+ Object.freeze(VerticalOrigin);
53
+
54
+ export default VerticalOrigin;
@@ -76,10 +76,16 @@ function VoxelBoxShape() {
76
76
 
77
77
  this._renderBoundPlanes = new VoxelBoundsCollection({ planes: boundPlanes });
78
78
 
79
+ /**
80
+ * UV space transformation translation (JS-only, not a shader uniform)
81
+ * @type {Cartesian3}
82
+ * @private
83
+ */
84
+ this._localToShapeUvTranslate = new Cartesian3();
85
+
79
86
  this._shaderUniforms = {
80
87
  boxEcToXyz: new Matrix3(),
81
88
  boxLocalToShapeUvScale: new Cartesian3(),
82
- boxLocalToShapeUvTranslate: new Cartesian3(),
83
89
  };
84
90
 
85
91
  this._shaderDefines = {
@@ -321,13 +327,13 @@ VoxelBoxShape.prototype.update = function (
321
327
  boundScale(min.z, max.z),
322
328
  shaderUniforms.boxLocalToShapeUvScale,
323
329
  );
324
- shaderUniforms.boxLocalToShapeUvTranslate = Cartesian3.negate(
330
+ this._localToShapeUvTranslate = Cartesian3.negate(
325
331
  Cartesian3.multiplyComponents(
326
332
  boxLocalToShapeUvScale,
327
333
  min,
328
- shaderUniforms.boxLocalToShapeUvTranslate,
334
+ this._localToShapeUvTranslate,
329
335
  ),
330
- shaderUniforms.boxLocalToShapeUvTranslate,
336
+ this._localToShapeUvTranslate,
331
337
  );
332
338
 
333
339
  this._shaderMaximumIntersectionsLength = intersectionCount;
@@ -381,8 +387,8 @@ VoxelBoxShape.prototype.convertLocalToShapeUvSpace = function (
381
387
  Check.typeOf.object("result", result);
382
388
  //>>includeEnd('debug');
383
389
 
384
- const { boxLocalToShapeUvScale, boxLocalToShapeUvTranslate } =
385
- this._shaderUniforms;
390
+ const { boxLocalToShapeUvScale } = this._shaderUniforms;
391
+ const boxLocalToShapeUvTranslate = this._localToShapeUvTranslate;
386
392
 
387
393
  return Cartesian3.add(
388
394
  Cartesian3.multiplyComponents(
@@ -66,6 +66,8 @@ Object.defineProperties(VoxelContent.prototype, {
66
66
  * The metadata for this voxel content.
67
67
  * The metadata is an array of typed arrays, one for each field.
68
68
  * The data for one field is a flattened 3D array ordered by X, then Y, then Z.
69
+ *
70
+ * @memberof VoxelContent.prototype
69
71
  * @type {Int8Array[]|Uint8Array[]|Int16Array[]|Uint16Array[]|Int32Array[]|Uint32Array[]|Float32Array[]|Float64Array[]}
70
72
  * @readonly
71
73
  */
@@ -54,14 +54,20 @@ function VoxelCylinderShape() {
54
54
 
55
55
  this._renderBoundPlanes = new VoxelBoundsCollection({ planes: boundPlanes });
56
56
 
57
+ /**
58
+ * UV space transformation translations (JS-only, not shader uniforms)
59
+ * Components: [radius, angle, height] translation
60
+ * @type {Cartesian3}
61
+ * @private
62
+ */
63
+ this._localToShapeUvTranslate = new Cartesian3();
64
+
57
65
  this._shaderUniforms = {
58
66
  cameraShapePosition: new Cartesian3(),
59
67
  cylinderEcToRadialTangentUp: new Matrix3(),
60
68
  cylinderRenderRadiusMinMax: new Cartesian2(),
61
69
  cylinderRenderAngleMinMax: new Cartesian2(),
62
- cylinderLocalToShapeUvRadius: new Cartesian2(),
63
- cylinderLocalToShapeUvAngle: new Cartesian2(),
64
- cylinderLocalToShapeUvHeight: new Cartesian2(),
70
+ cylinderLocalToShapeUvScale: new Cartesian3(),
65
71
  cylinderShapeUvAngleRangeOrigin: 0.0,
66
72
  };
67
73
 
@@ -359,30 +365,22 @@ VoxelCylinderShape.prototype.update = function (
359
365
  }
360
366
 
361
367
  const radiusRange = maxBounds.x - minBounds.x;
368
+ // Defaults are for the case where radiusRange is zero, to avoid division by zero.
362
369
  let radialScale = 0.0;
363
370
  let radialOffset = 1.0;
364
371
  if (radiusRange !== 0.0) {
365
372
  radialScale = 1.0 / radiusRange;
366
373
  radialOffset = -minBounds.x * radialScale;
367
374
  }
368
- shaderUniforms.cylinderLocalToShapeUvRadius = Cartesian2.fromElements(
369
- radialScale,
370
- radialOffset,
371
- shaderUniforms.cylinderLocalToShapeUvRadius,
372
- );
373
375
 
374
376
  const heightRange = maxBounds.z - minBounds.z; // Default 2.0
377
+ // Defaults are for the case where heightRange is zero, to avoid division by zero.
375
378
  let heightScale = 0.0;
376
379
  let heightOffset = 1.0;
377
380
  if (heightRange !== 0.0) {
378
381
  heightScale = 1.0 / heightRange;
379
382
  heightOffset = -minBounds.z * heightScale;
380
383
  }
381
- shaderUniforms.cylinderLocalToShapeUvHeight = Cartesian2.fromElements(
382
- heightScale,
383
- heightOffset,
384
- shaderUniforms.cylinderLocalToShapeUvHeight,
385
- );
386
384
 
387
385
  if (renderHasAngle) {
388
386
  shaderDefines["CYLINDER_HAS_RENDER_BOUNDS_ANGLE"] = true;
@@ -414,23 +412,31 @@ VoxelCylinderShape.prototype.update = function (
414
412
  const uvAngleRangeOrigin = (uvMaxAngle + 0.5 * uvAngleRangeZero) % 1.0;
415
413
  shaderUniforms.cylinderShapeUvAngleRangeOrigin = uvAngleRangeOrigin;
416
414
 
417
- if (shapeAngleRange <= epsilonAngle) {
418
- shaderUniforms.cylinderLocalToShapeUvAngle = Cartesian2.fromElements(
419
- 0.0,
420
- 1.0,
421
- shaderUniforms.cylinderLocalToShapeUvAngle,
422
- );
423
- } else {
424
- const scale = defaultAngleRange / shapeAngleRange;
415
+ // Defaults are for the case where shapeAngleRange is zero, to avoid division by zero.
416
+ let angleScale = 0.0;
417
+ let angleOffset = 1.0;
418
+ if (shapeAngleRange > epsilonAngle) {
419
+ angleScale = defaultAngleRange / shapeAngleRange;
425
420
  const shiftedMinAngle = uvMinAngle - uvAngleRangeOrigin;
426
- const offset = -scale * (shiftedMinAngle - Math.floor(shiftedMinAngle));
427
- shaderUniforms.cylinderLocalToShapeUvAngle = Cartesian2.fromElements(
428
- scale,
429
- offset,
430
- shaderUniforms.cylinderLocalToShapeUvAngle,
431
- );
421
+ angleOffset = -angleScale * (shiftedMinAngle - Math.floor(shiftedMinAngle));
432
422
  }
433
423
 
424
+ // Store scales in shader uniforms (GPU)
425
+ shaderUniforms.cylinderLocalToShapeUvScale = Cartesian3.fromElements(
426
+ radialScale,
427
+ angleScale,
428
+ heightScale,
429
+ shaderUniforms.cylinderLocalToShapeUvScale,
430
+ );
431
+
432
+ // Store translations in private property (JS-only)
433
+ this._localToShapeUvTranslate = Cartesian3.fromElements(
434
+ radialOffset,
435
+ angleOffset,
436
+ heightOffset,
437
+ this._localToShapeUvTranslate,
438
+ );
439
+
434
440
  this._shaderMaximumIntersectionsLength = intersectionCount;
435
441
 
436
442
  return true;
@@ -523,25 +529,20 @@ VoxelCylinderShape.prototype.convertLocalToShapeUvSpace = function (
523
529
  let angle = Math.atan2(positionLocal.y, positionLocal.x);
524
530
  let height = positionLocal.z;
525
531
 
526
- const {
527
- cylinderLocalToShapeUvRadius,
528
- cylinderLocalToShapeUvAngle,
529
- cylinderShapeUvAngleRangeOrigin,
530
- cylinderLocalToShapeUvHeight,
531
- } = this._shaderUniforms;
532
+ const { cylinderLocalToShapeUvScale, cylinderShapeUvAngleRangeOrigin } =
533
+ this._shaderUniforms;
534
+ const localToShapeUvTranslate = this._localToShapeUvTranslate;
532
535
 
533
- radius =
534
- radius * cylinderLocalToShapeUvRadius.x + cylinderLocalToShapeUvRadius.y;
536
+ radius = radius * cylinderLocalToShapeUvScale.x + localToShapeUvTranslate.x;
535
537
 
536
538
  // Convert angle to a "UV" in [0,1] with 0 defined at the center of the unoccupied space.
537
539
  angle = (angle + Math.PI) / (2.0 * Math.PI);
538
540
  angle -= cylinderShapeUvAngleRangeOrigin;
539
541
  angle = angle - Math.floor(angle);
540
542
  // Scale and shift so [0,1] covers the occupied space.
541
- angle = angle * cylinderLocalToShapeUvAngle.x + cylinderLocalToShapeUvAngle.y;
543
+ angle = angle * cylinderLocalToShapeUvScale.y + localToShapeUvTranslate.y;
542
544
 
543
- height =
544
- height * cylinderLocalToShapeUvHeight.x + cylinderLocalToShapeUvHeight.y;
545
+ height = height * cylinderLocalToShapeUvScale.z + localToShapeUvTranslate.z;
545
546
 
546
547
  return Cartesian3.fromElements(radius, angle, height, result);
547
548
  };