@cesium/engine 26.1.0 → 26.3.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 (325) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +764 -520
  2. package/Build/Workers/{chunk-HS6AD4P2.js → chunk-2DKJSPYF.js} +14 -14
  3. package/Build/Workers/{chunk-QVLAFFJY.js → chunk-2PWVICP6.js} +1 -1
  4. package/Build/Workers/{chunk-ILME5BXA.js → chunk-2YY724ZX.js} +8 -8
  5. package/Build/Workers/{chunk-ENNFMWDW.js → chunk-4DMAXPKB.js} +12 -12
  6. package/Build/Workers/{chunk-CDJDJ5LK.js → chunk-4LRFYRBX.js} +2 -2
  7. package/Build/Workers/{chunk-76FDC45O.js → chunk-5JCZHJUU.js} +13 -13
  8. package/Build/Workers/{chunk-5LSOO2KD.js → chunk-5KG7KDDW.js} +7 -7
  9. package/Build/Workers/{chunk-A6X24AZI.js → chunk-6BSNYZZG.js} +5 -5
  10. package/Build/Workers/{chunk-IGAZBTFZ.js → chunk-6R6SGKYN.js} +6 -6
  11. package/Build/Workers/{chunk-SS5ABQGY.js → chunk-6V2KDEHL.js} +4 -4
  12. package/Build/Workers/{chunk-ZMBHFYOX.js → chunk-75BC2IHI.js} +7 -7
  13. package/Build/Workers/{chunk-LGNDTZVX.js → chunk-7SESBH2I.js} +4 -4
  14. package/Build/Workers/{chunk-CLCTQVVL.js → chunk-7WXBTNRV.js} +8 -8
  15. package/Build/Workers/{chunk-WBSY7HDY.js → chunk-A7SMPV6B.js} +12 -12
  16. package/Build/Workers/{chunk-CEEZE3YZ.js → chunk-ATSXKJ3L.js} +7 -7
  17. package/Build/Workers/{chunk-AHWAZRBV.js → chunk-B4AVL7VI.js} +1 -1
  18. package/Build/Workers/{chunk-6HK6IXK2.js → chunk-B7Q2WF6Q.js} +4 -4
  19. package/Build/Workers/{chunk-YKU2Q3A2.js → chunk-BNDSDQ7D.js} +9 -12
  20. package/Build/Workers/{chunk-R4FPNAZ2.js → chunk-CKK6CUXK.js} +9 -9
  21. package/Build/Workers/{chunk-FCP2QY4G.js → chunk-COKOYTRS.js} +5 -5
  22. package/Build/Workers/{chunk-7D2HZKH7.js → chunk-CQ4TZXAT.js} +7 -7
  23. package/Build/Workers/{chunk-TVZD72WJ.js → chunk-DKSANM4A.js} +12 -12
  24. package/Build/Workers/{chunk-FDK4K5IA.js → chunk-DZK34ZVD.js} +1 -1
  25. package/Build/Workers/{chunk-N7CCOFLX.js → chunk-E7G32DWL.js} +1 -1
  26. package/Build/Workers/{chunk-XDWCTQCZ.js → chunk-EDETO6NY.js} +2 -2
  27. package/Build/Workers/{chunk-2EFYUSUY.js → chunk-F34TJJLA.js} +16 -16
  28. package/Build/Workers/{chunk-GXWQZBAI.js → chunk-GLHDTTTO.js} +2 -2
  29. package/Build/Workers/{chunk-T5QBPLE3.js → chunk-GS7RY2DH.js} +11 -11
  30. package/Build/Workers/{chunk-C7JQVRLM.js → chunk-HDD3RFLT.js} +25 -3
  31. package/Build/Workers/{chunk-E7NZJOK7.js → chunk-HDPNFEPP.js} +121 -93
  32. package/Build/Workers/{chunk-VAL7DYNR.js → chunk-JBJ6BRIM.js} +4 -4
  33. package/Build/Workers/{chunk-XQ3SKCMM.js → chunk-JKTWW7IO.js} +5 -5
  34. package/Build/Workers/{chunk-UVO6COT2.js → chunk-JL4NWWQY.js} +5 -5
  35. package/Build/Workers/{chunk-DBD5WWG2.js → chunk-JMUUAW4X.js} +10 -10
  36. package/Build/Workers/{chunk-UEY73NRN.js → chunk-KBGAHN5R.js} +1 -1
  37. package/Build/Workers/{chunk-LD64RPYV.js → chunk-KEWK6VZL.js} +12 -12
  38. package/Build/Workers/{chunk-JW6OZT4R.js → chunk-L73K5UPP.js} +10 -10
  39. package/Build/Workers/{chunk-DIGUUD6G.js → chunk-LL2SGJYH.js} +6 -6
  40. package/Build/Workers/{chunk-XLXSDIP5.js → chunk-LYJUL4XQ.js} +6 -6
  41. package/Build/Workers/{chunk-SM2CDCYF.js → chunk-M6W46OAP.js} +7 -7
  42. package/Build/Workers/{chunk-EHTS2YPT.js → chunk-MDDKCLMF.js} +17 -17
  43. package/Build/Workers/{chunk-FGQFQHN5.js → chunk-MUW4DJV7.js} +18 -18
  44. package/Build/Workers/{chunk-HHV3MCGV.js → chunk-N5YK44FS.js} +5 -5
  45. package/Build/Workers/{chunk-RG4F5R57.js → chunk-NZQUP52G.js} +9 -9
  46. package/Build/Workers/{chunk-B4CQSLZJ.js → chunk-PKZA44LH.js} +6 -6
  47. package/Build/Workers/{chunk-OBEU25PI.js → chunk-Q2JS5LCB.js} +17 -17
  48. package/Build/Workers/{chunk-KGXSYGBG.js → chunk-QTAEVUED.js} +13 -13
  49. package/Build/Workers/{chunk-NIWITKQK.js → chunk-SEJIXZZ4.js} +11 -11
  50. package/Build/Workers/{chunk-SGRGNDOD.js → chunk-SL2HCFYW.js} +10 -10
  51. package/Build/Workers/{chunk-SF6K72D7.js → chunk-SLHK3KAR.js} +5 -5
  52. package/Build/Workers/{chunk-JKXV6PG5.js → chunk-UZY5XRL2.js} +1 -1
  53. package/Build/Workers/{chunk-LNSQVXFH.js → chunk-VRECSMG3.js} +2 -2
  54. package/Build/Workers/{chunk-A3O6EDBK.js → chunk-X27HKF5E.js} +2 -2
  55. package/Build/Workers/{chunk-7KVKHY7O.js → chunk-XBY3354M.js} +6 -6
  56. package/Build/Workers/{chunk-GSWMAFTE.js → chunk-XRZCS3HE.js} +23 -16
  57. package/Build/Workers/{chunk-6YR6JBMY.js → chunk-XSIUYAT6.js} +2 -2
  58. package/Build/Workers/{chunk-ZSGUV73H.js → chunk-Z2DW5NM2.js} +6 -6
  59. package/Build/Workers/combineGeometry.js +24 -24
  60. package/Build/Workers/createBoxGeometry.js +18 -18
  61. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  62. package/Build/Workers/createCircleGeometry.js +26 -26
  63. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  64. package/Build/Workers/createCoplanarPolygonGeometry.js +35 -35
  65. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  66. package/Build/Workers/createCorridorGeometry.js +31 -33
  67. package/Build/Workers/createCorridorOutlineGeometry.js +29 -31
  68. package/Build/Workers/createCylinderGeometry.js +20 -20
  69. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  70. package/Build/Workers/createEllipseGeometry.js +26 -26
  71. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  73. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  74. package/Build/Workers/createFrustumGeometry.js +18 -18
  75. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  76. package/Build/Workers/createGeometry.js +24 -24
  77. package/Build/Workers/createGroundPolylineGeometry.js +24 -24
  78. package/Build/Workers/createPlaneGeometry.js +16 -16
  79. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  80. package/Build/Workers/createPolygonGeometry.js +34 -34
  81. package/Build/Workers/createPolygonOutlineGeometry.js +31 -31
  82. package/Build/Workers/createPolylineGeometry.js +26 -26
  83. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  84. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  85. package/Build/Workers/createRectangleGeometry.js +27 -27
  86. package/Build/Workers/createRectangleOutlineGeometry.js +21 -21
  87. package/Build/Workers/createSimplePolylineGeometry.js +24 -24
  88. package/Build/Workers/createSphereGeometry.js +19 -19
  89. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  90. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  91. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  92. package/Build/Workers/createVectorTileGeometries.js +24 -24
  93. package/Build/Workers/createVectorTilePoints.js +13 -13
  94. package/Build/Workers/createVectorTilePolygons.js +22 -22
  95. package/Build/Workers/createVectorTilePolylines.js +14 -14
  96. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  97. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  98. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  99. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  100. package/Build/Workers/createWallGeometry.js +24 -24
  101. package/Build/Workers/createWallOutlineGeometry.js +24 -24
  102. package/Build/Workers/decodeDraco.js +10 -10
  103. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  104. package/Build/Workers/decodeI3S.js +10 -10
  105. package/Build/Workers/gaussianSplatSorter.js +4 -4
  106. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  107. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  108. package/Build/Workers/transcodeKTX2.js +6 -6
  109. package/Build/Workers/transferTypedArrayTest.js +1 -1
  110. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  111. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  112. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
  113. package/Source/Core/BoundingSphere.js +0 -3
  114. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
  115. package/Source/Core/CoplanarPolygonGeometry.js +2 -2
  116. package/Source/Core/CorridorGeometry.js +2 -4
  117. package/Source/Core/CorridorOutlineGeometry.js +1 -3
  118. package/Source/Core/EarthOrientationParameters.js +2 -2
  119. package/Source/Core/EllipseGeometryLibrary.js +2 -2
  120. package/Source/Core/EllipsoidGeodesic.js +3 -3
  121. package/Source/Core/EllipsoidRhumbLine.js +1 -1
  122. package/Source/Core/GroundPolylineGeometry.js +2 -2
  123. package/Source/Core/Heap.js +1 -1
  124. package/Source/Core/HermitePolynomialApproximation.js +215 -179
  125. package/Source/Core/InterpolationAlgorithm.js +1 -0
  126. package/Source/Core/Ion.js +1 -1
  127. package/Source/Core/IonResource.js +5 -0
  128. package/Source/Core/IonSnapGeometryType.js +59 -0
  129. package/Source/Core/IonSnapHeat.js +33 -0
  130. package/Source/Core/IonSnapMode.js +45 -0
  131. package/Source/Core/IonSnapParentGeometryType.js +52 -0
  132. package/Source/Core/IonSnapService.js +369 -0
  133. package/Source/Core/JulianDate.js +1 -1
  134. package/Source/Core/LagrangePolynomialApproximation.js +55 -52
  135. package/Source/Core/LinearApproximation.js +69 -66
  136. package/Source/Core/Math.js +59 -0
  137. package/Source/Core/Matrix2.js +2 -2
  138. package/Source/Core/Matrix3.js +2 -2
  139. package/Source/Core/OrthographicFrustum.js +1 -1
  140. package/Source/Core/PerspectiveFrustum.js +1 -1
  141. package/Source/Core/PolygonGeometry.js +2 -2
  142. package/Source/Core/PolygonGeometryLibrary.js +1 -1
  143. package/Source/Core/PolygonOutlineGeometry.js +1 -1
  144. package/Source/Core/PolylineGeometry.js +1 -1
  145. package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
  146. package/Source/Core/Rectangle.js +7 -1
  147. package/Source/Core/RectangleOutlineGeometry.js +1 -1
  148. package/Source/Core/SimplePolylineGeometry.js +1 -1
  149. package/Source/Core/SnapService.js +63 -0
  150. package/Source/Core/TerrainEncoding.js +2 -2
  151. package/Source/Core/TerrainPicker.js +179 -168
  152. package/Source/Core/TimeIntervalCollection.js +1 -3
  153. package/Source/Core/Tipsify.js +1 -1
  154. package/Source/Core/Transforms.js +5 -1
  155. package/Source/Core/VectorPipeline.js +1211 -0
  156. package/Source/Core/VectorProvider.js +669 -0
  157. package/Source/Core/WallOutlineGeometry.js +1 -1
  158. package/Source/Core/getTimestamp.js +4 -2
  159. package/Source/DataSources/CompositeEntityCollection.js +0 -1
  160. package/Source/DataSources/CzmlDataSource.js +2 -0
  161. package/Source/DataSources/DataSourceDisplay.js +1 -1
  162. package/Source/DataSources/GeoJsonDataSource.js +0 -1
  163. package/Source/DataSources/GeometryVisualizer.js +1 -1
  164. package/Source/DataSources/KmlDataSource.js +1 -2
  165. package/Source/DataSources/PolylineVisualizer.js +1 -1
  166. package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
  167. package/Source/Renderer/AutomaticUniforms.js +67 -2
  168. package/Source/Renderer/Context.js +9 -3
  169. package/Source/Renderer/DrawCommand.js +22 -0
  170. package/Source/Renderer/Framebuffer.js +4 -0
  171. package/Source/Renderer/Pass.js +11 -10
  172. package/Source/Renderer/ShaderBuilder.js +1 -1
  173. package/Source/Renderer/Texture.js +11 -0
  174. package/Source/Renderer/UniformState.js +54 -1
  175. package/Source/Renderer/VertexArray.js +0 -1
  176. package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
  177. package/Source/Scene/ArcGisMapService.js +1 -1
  178. package/Source/Scene/Billboard.js +2 -1
  179. package/Source/Scene/BillboardCollection.js +7 -3
  180. package/Source/Scene/BufferPointCollection.js +4 -7
  181. package/Source/Scene/BufferPolygonCollection.js +56 -27
  182. package/Source/Scene/BufferPolylineCollection.js +61 -8
  183. package/Source/Scene/BufferPolylineMaterial.js +6 -5
  184. package/Source/Scene/BufferPrimitiveCollection.js +226 -34
  185. package/Source/Scene/Camera.js +71 -5
  186. package/Source/Scene/Cesium3DTile.js +12 -0
  187. package/Source/Scene/Cesium3DTileset.js +62 -9
  188. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +15 -3
  189. package/Source/Scene/Cesium3DTilesetCache.js +15 -0
  190. package/Source/Scene/ClippingPlaneCollection.js +2 -2
  191. package/Source/Scene/ClippingPolygon.js +154 -100
  192. package/Source/Scene/ClippingPolygonCollection.js +352 -694
  193. package/Source/Scene/Controllers/Controller.js +63 -0
  194. package/Source/Scene/Controllers/ControllerHost.js +78 -0
  195. package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
  196. package/Source/Scene/Controllers/MouseButton.js +32 -0
  197. package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
  198. package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
  199. package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
  200. package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
  201. package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
  202. package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
  203. package/Source/Scene/CreditDisplay.js +62 -0
  204. package/Source/Scene/DerivedCommand.js +94 -0
  205. package/Source/Scene/EdgeFramebuffer.js +1 -5
  206. package/Source/Scene/FrameState.js +17 -0
  207. package/Source/Scene/GeoJsonPrimitive.js +114 -24
  208. package/Source/Scene/Globe.js +20 -0
  209. package/Source/Scene/GlobeDepth.js +27 -1
  210. package/Source/Scene/GlobeSurfaceShaderSet.js +42 -53
  211. package/Source/Scene/GlobeSurfaceTile.js +61 -10
  212. package/Source/Scene/GlobeSurfaceTileProvider.js +351 -26
  213. package/Source/Scene/GltfLoader.js +88 -9
  214. package/Source/Scene/GltfSpzLoader.js +1 -1
  215. package/Source/Scene/GltfVertexBufferLoader.js +6 -3
  216. package/Source/Scene/HeightReference.js +1 -1
  217. package/Source/Scene/I3SDataProvider.js +1 -1
  218. package/Source/Scene/I3SLayer.js +1 -1
  219. package/Source/Scene/I3SNode.js +2 -2
  220. package/Source/Scene/ImageryLayerCollection.js +188 -4
  221. package/Source/Scene/IonImageryProvider.js +1 -5
  222. package/Source/Scene/Label.js +4 -4
  223. package/Source/Scene/LabelCollection.js +1 -1
  224. package/Source/Scene/MVTDataProvider.js +11 -0
  225. package/Source/Scene/Model/B3dmLoader.js +1 -2
  226. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +10 -8
  227. package/Source/Scene/Model/I3dmLoader.js +1 -1
  228. package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
  229. package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
  230. package/Source/Scene/Model/Model.js +250 -26
  231. package/Source/Scene/Model/Model3DTileContent.js +5 -0
  232. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
  233. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +54 -19
  234. package/Source/Scene/Model/ModelDrawCommand.js +160 -16
  235. package/Source/Scene/Model/ModelDrawCommands.js +4 -0
  236. package/Source/Scene/Model/ModelRenderResources.js +2 -3
  237. package/Source/Scene/Model/ModelSceneGraph.js +31 -1
  238. package/Source/Scene/Model/ModelVectorLookupPipelineStage.js +205 -0
  239. package/Source/Scene/Model/PickingPipelineStage.js +33 -0
  240. package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
  241. package/Source/Scene/ModelComponents.js +71 -0
  242. package/Source/Scene/Picking.js +16 -5
  243. package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
  244. package/Source/Scene/PntsParser.js +0 -1
  245. package/Source/Scene/PolylineCollection.js +1 -1
  246. package/Source/Scene/PostProcessStage.js +26 -5
  247. package/Source/Scene/ResourceCache.js +7 -4
  248. package/Source/Scene/ResourceCacheKey.js +16 -13
  249. package/Source/Scene/Scene.js +258 -6
  250. package/Source/Scene/ScreenSpaceCameraController.js +1 -2
  251. package/Source/Scene/ShadowMap.js +9 -3
  252. package/Source/Scene/ShadowMapShader.js +50 -2
  253. package/Source/Scene/SnapFramebuffer.js +121 -0
  254. package/Source/Scene/Snapping.js +241 -0
  255. package/Source/Scene/TerrainFillMesh.js +3 -2
  256. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +13 -2
  257. package/Source/Scene/Vector3DTileContent.js +2 -3
  258. package/Source/Scene/VectorGltf3DTileContent.js +31 -3
  259. package/Source/Scene/View.js +10 -8
  260. package/Source/Scene/VoxelTraversal.js +1 -1
  261. package/Source/Scene/WebMapServiceImageryProvider.js +5 -1
  262. package/Source/Scene/WebMapTileServiceImageryProvider.js +6 -1
  263. package/Source/Scene/createElevationBandMaterial.js +1 -1
  264. package/Source/Scene/renderBufferPointCollection.js +1 -2
  265. package/Source/Scene/renderBufferPolygonCollection.js +1 -2
  266. package/Source/Scene/renderBufferPolylineCollection.js +6 -3
  267. package/Source/Shaders/BufferPolylineMaterialVS.glsl +14 -2
  268. package/Source/Shaders/BufferPolylineMaterialVS.js +14 -2
  269. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
  270. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
  271. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
  272. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
  273. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
  274. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
  275. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
  276. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
  277. package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
  278. package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
  279. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
  280. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
  281. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
  282. package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
  283. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
  284. package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
  285. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
  286. package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
  287. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -4
  288. package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.glsl +74 -0
  289. package/Source/Shaders/Builtin/Functions/eyeToCartographicDelta.js +76 -0
  290. package/Source/Shaders/GlobeFS.glsl +20 -14
  291. package/Source/Shaders/GlobeFS.js +20 -14
  292. package/Source/Shaders/GlobeVS.glsl +0 -32
  293. package/Source/Shaders/GlobeVS.js +0 -32
  294. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
  295. package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
  296. package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
  297. package/Source/Shaders/Model/MaterialStageFS.js +8 -2
  298. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +15 -3
  299. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +15 -3
  300. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +20 -24
  301. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +20 -24
  302. package/Source/Shaders/Model/ModelFS.glsl +109 -0
  303. package/Source/Shaders/Model/ModelFS.js +109 -0
  304. package/Source/Shaders/Model/ModelVS.glsl +7 -2
  305. package/Source/Shaders/Model/ModelVS.js +7 -2
  306. package/Source/Shaders/Model/ModelVectorLookupStageFS.glsl +6 -0
  307. package/Source/Shaders/Model/ModelVectorLookupStageFS.js +8 -0
  308. package/Source/Shaders/Model/ModelVectorLookupStageVS.glsl +15 -0
  309. package/Source/Shaders/Model/ModelVectorLookupStageVS.js +17 -0
  310. package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +9 -10
  311. package/Source/Shaders/Model/VerticalExaggerationStageVS.js +9 -11
  312. package/Source/Shaders/VectorCommon.glsl +305 -0
  313. package/Source/Shaders/VectorCommon.js +307 -0
  314. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  315. package/Source/ThirdParty/zip-module.wasm +0 -0
  316. package/Source/Widget/CesiumWidget.js +30 -0
  317. package/index.d.ts +1326 -65
  318. package/index.js +179 -155
  319. package/package.json +6 -6
  320. package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +0 -37
  321. package/Source/Shaders/Builtin/Functions/clipPolygons.js +0 -39
  322. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +0 -14
  323. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +0 -15
  324. package/Source/Shaders/PolygonSignedDistanceFS.glsl +0 -131
  325. package/Source/Shaders/PolygonSignedDistanceFS.js +0 -132
@@ -339,6 +339,64 @@ CesiumMath.lerp = function (p, q, time) {
339
339
  return (1.0 - time) * p + time * q;
340
340
  };
341
341
 
342
+ /** @typedef {Object} SmoothDampResult
343
+ * @property {number} value The new value after applying the smooth damp.
344
+ * @property {number} velocity The updated current velocity.
345
+ */
346
+
347
+ /**
348
+ * Gradually changes a value towards a target value over time. The smoothing function uses a spring-damping algorithm based on Game Programming Gems 4 Chapter 1.10.
349
+ * @param {number} p The current value.
350
+ * @param {number} q The target value.
351
+ * @param {number} velocity The current velocity.
352
+ * @param {number} [deltaTime=0.0] The time since the last call to this function. Value must be greater than or equal to 0.0.
353
+ * @param {number} [maximumSpeed=Number.POSITIVE_INFINITY] Optionally allows clamping to the specified maximum speed.
354
+ * @param {number} [smoothTime=0.0001] Approximately the time it will take to reach the target. A smaller value will reach the target faster. This value must be greater than or equal to 0.0001.
355
+ * @param {SmoothDampResult} [result] An object to store the result. If not provided, a new object will be created and returned.
356
+ * @returns {SmoothDampResult} An object containing the new value and the updated current velocity.
357
+ */
358
+ CesiumMath.smoothDamp = function (
359
+ p,
360
+ q,
361
+ velocity,
362
+ deltaTime = 0.0,
363
+ maximumSpeed = Number.POSITIVE_INFINITY,
364
+ smoothTime = 0.0001,
365
+ result = {},
366
+ ) {
367
+ //>>includeStart('debug', pragmas.debug);
368
+ Check.typeOf.number("p", p);
369
+ Check.typeOf.number("q", q);
370
+ Check.typeOf.number("velocity", velocity);
371
+ Check.typeOf.number.greaterThanOrEquals("deltaTime", deltaTime, 0.0);
372
+ Check.typeOf.number.greaterThanOrEquals("maximumSpeed", maximumSpeed, 0.0);
373
+ Check.typeOf.number.greaterThanOrEquals("smoothTime", smoothTime, 0.0001);
374
+ Check.typeOf.object("result", result);
375
+ //>>includeEnd('debug');
376
+
377
+ // As a fallback, prevent crashes even if smoothTime is too small
378
+ smoothTime = Math.max(0.0001, smoothTime);
379
+ const omega = 2.0 / smoothTime;
380
+
381
+ const x = omega * deltaTime;
382
+ const exp = 1.0 / (1.0 + x + 0.48 * x * x + 0.235 * x * x * x);
383
+
384
+ const maxChange = maximumSpeed * smoothTime;
385
+ let change = p - q;
386
+ change = CesiumMath.clamp(change, -maxChange, maxChange);
387
+
388
+ const target = p - change;
389
+
390
+ const temp = (velocity + omega * change) * deltaTime;
391
+
392
+ velocity = (velocity - omega * temp) * exp;
393
+
394
+ result.value = target + (change + temp) * exp;
395
+ result.velocity = velocity;
396
+
397
+ return result;
398
+ };
399
+
342
400
  /**
343
401
  * pi
344
402
  *
@@ -1122,4 +1180,5 @@ CesiumMath.fastApproximateAtan2 = function (x, y) {
1122
1180
  t = y < 0.0 ? -t : t;
1123
1181
  return t;
1124
1182
  };
1183
+
1125
1184
  export default CesiumMath;
@@ -55,7 +55,7 @@ class Matrix2 {
55
55
  array[startingIndex++] = value[0];
56
56
  array[startingIndex++] = value[1];
57
57
  array[startingIndex++] = value[2];
58
- array[startingIndex++] = value[3];
58
+ array[startingIndex] = value[3];
59
59
 
60
60
  return array;
61
61
  }
@@ -82,7 +82,7 @@ class Matrix2 {
82
82
  result[0] = array[startingIndex++];
83
83
  result[1] = array[startingIndex++];
84
84
  result[2] = array[startingIndex++];
85
- result[3] = array[startingIndex++];
85
+ result[3] = array[startingIndex];
86
86
  return result;
87
87
  }
88
88
 
@@ -95,7 +95,7 @@ class Matrix3 {
95
95
  array[startingIndex++] = value[5];
96
96
  array[startingIndex++] = value[6];
97
97
  array[startingIndex++] = value[7];
98
- array[startingIndex++] = value[8];
98
+ array[startingIndex] = value[8];
99
99
 
100
100
  return array;
101
101
  }
@@ -127,7 +127,7 @@ class Matrix3 {
127
127
  result[5] = array[startingIndex++];
128
128
  result[6] = array[startingIndex++];
129
129
  result[7] = array[startingIndex++];
130
- result[8] = array[startingIndex++];
130
+ result[8] = array[startingIndex];
131
131
  return result;
132
132
  }
133
133
 
@@ -185,7 +185,7 @@ Object.defineProperties(OrthographicFrustum.prototype, {
185
185
  },
186
186
  },
187
187
  /**
188
- * Gets the orthographic projection matrix computed from the view frustum.
188
+ * Gets the underlying {@link OrthographicOffCenterFrustum}
189
189
  * @memberof OrthographicFrustum.prototype
190
190
  * @type {OrthographicOffCenterFrustum}
191
191
  * @readonly
@@ -282,7 +282,7 @@ Object.defineProperties(PerspectiveFrustum.prototype, {
282
282
  },
283
283
 
284
284
  /**
285
- * Gets the orthographic projection matrix computed from the view frustum.
285
+ * Gets the underlying {@link PerspectiveOffCenterFrustum}.
286
286
  * @memberof PerspectiveFrustum.prototype
287
287
  * @type {PerspectiveOffCenterFrustum}
288
288
  * @readonly
@@ -858,7 +858,7 @@ PolygonGeometry.pack = function (value, array, startingIndex) {
858
858
  } else {
859
859
  array[startingIndex++] = -1.0;
860
860
  }
861
- array[startingIndex++] = value.packedLength;
861
+ array[startingIndex] = value.packedLength;
862
862
  return array;
863
863
  };
864
864
 
@@ -928,7 +928,7 @@ PolygonGeometry.unpack = function (array, startingIndex, result) {
928
928
  } else {
929
929
  startingIndex++;
930
930
  }
931
- const packedLength = array[startingIndex++];
931
+ const packedLength = array[startingIndex];
932
932
 
933
933
  if (!defined(result)) {
934
934
  result = new PolygonGeometry(dummyOptions);
@@ -694,7 +694,7 @@ function wirePolygon(
694
694
  for (const index of polygonsToWire) {
695
695
  polygonIndex = wirePolygon(
696
696
  polygons,
697
- ++polygonIndex,
697
+ polygonIndex + 1,
698
698
  positions,
699
699
  edgesOnPlane,
700
700
  0,
@@ -116,7 +116,7 @@ function createGeometryFromPositions(
116
116
  indices[index++] = i + 1;
117
117
  }
118
118
  indices[index++] = length - 1;
119
- indices[index++] = 0;
119
+ indices[index] = 0;
120
120
 
121
121
  return new GeometryInstance({
122
122
  geometry: new Geometry({
@@ -316,7 +316,7 @@ PolylineGeometry.createGeometry = function (polylineGeometry) {
316
316
  let removedArrayIndex = 0;
317
317
  let nextRemovedIndex = removedIndices[0];
318
318
  colors = colors.filter(function (color, index) {
319
- let remove = false;
319
+ let remove;
320
320
  if (colorsPerVertex) {
321
321
  remove =
322
322
  index === nextRemovedIndex || (index === 0 && nextRemovedIndex === 1);
@@ -198,7 +198,7 @@ function convertShapeTo3DDuplicate(shape2D, boundingRectangle) {
198
198
  point = shape2D[0];
199
199
  shape[index++] = point.x - xOffset;
200
200
  shape[index++] = 0.0;
201
- shape[index++] = point.y - yOffset;
201
+ shape[index] = point.y - yOffset;
202
202
 
203
203
  return shape;
204
204
  }
@@ -711,13 +711,19 @@ class Rectangle {
711
711
  rectangleWest += CesiumMath.TWO_PI;
712
712
  }
713
713
 
714
- const west = CesiumMath.negativePiToPi(
714
+ let west = CesiumMath.negativePiToPi(
715
715
  Math.max(rectangleWest, otherRectangleWest),
716
716
  );
717
717
  const east = CesiumMath.negativePiToPi(
718
718
  Math.min(rectangleEast, otherRectangleEast),
719
719
  );
720
720
 
721
+ // +pi and -pi are the same longitude; use -pi here so a real intersection
722
+ // touching the antimeridian isn't mistaken for empty by the check below.
723
+ if (west === CesiumMath.PI && east < CesiumMath.PI) {
724
+ west = -CesiumMath.PI;
725
+ }
726
+
721
727
  if (
722
728
  (rectangle.west < rectangle.east ||
723
729
  otherRectangle.west < otherRectangle.east) &&
@@ -141,7 +141,7 @@ function constructRectangle(geometry, computedOptions) {
141
141
  indices[index++] = i + 1;
142
142
  }
143
143
  indices[index++] = positions.length / 3 - 1;
144
- indices[index++] = 0;
144
+ indices[index] = 0;
145
145
 
146
146
  const geo = new Geometry({
147
147
  attributes: new GeometryAttributes(),
@@ -371,7 +371,7 @@ SimplePolylineGeometry.createGeometry = function (simplePolylineGeometry) {
371
371
  colorValues[offset++] = Color.floatToByte(lastColor.red);
372
372
  colorValues[offset++] = Color.floatToByte(lastColor.green);
373
373
  colorValues[offset++] = Color.floatToByte(lastColor.blue);
374
- colorValues[offset++] = Color.floatToByte(lastColor.alpha);
374
+ colorValues[offset] = Color.floatToByte(lastColor.alpha);
375
375
  }
376
376
  }
377
377
  } else {
@@ -0,0 +1,63 @@
1
+ import DeveloperError from "./DeveloperError.js";
2
+
3
+ /**
4
+ * The result of a successful {@link SnapService#snap}.
5
+ *
6
+ * Implementations may return additional properties beyond those listed here.
7
+ *
8
+ * @typedef {object} SnapService.Result
9
+ * @property {Cartesian3} [snapPoint] The snapped point. This is the point to consume.
10
+ * @property {Cartesian3} [hitPoint] The point where the cursor hit the geometry: the nearest edge point when within the snap aperture, otherwise the surface point under the cursor.
11
+ */
12
+
13
+ /**
14
+ * Provides snap-to-geometry through an external service, which snaps against
15
+ * source geometry hosted remotely rather than geometry loaded in the scene.
16
+ * This type describes an interface and is not intended to be used.
17
+ *
18
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
19
+ *
20
+ * @see IonSnapService
21
+ */
22
+ class SnapService {
23
+ constructor() {
24
+ DeveloperError.throwInstantiationError();
25
+ }
26
+
27
+ /**
28
+ * Requests a snap against geometry known to the service.
29
+ *
30
+ * The camera and canvas dimensions describe the current view so the
31
+ * implementation can perform view-dependent snapping (nearest ordering,
32
+ * pixel apertures, surface tracking) correctly.
33
+ *
34
+ * Implementations may accept additional options beyond those listed here.
35
+ *
36
+ * @param {object} options Object with the following properties:
37
+ * @param {string} options.elementId An implementation-defined identifier of the geometry to snap to.
38
+ * @param {Cartesian3} options.testPoint The point to snap from, typically the picked cursor position.
39
+ * @param {Camera} options.camera The camera defining the current view.
40
+ * @param {number} options.canvasWidth The canvas width in CSS pixels.
41
+ * @param {number} options.canvasHeight The canvas height in CSS pixels.
42
+ * @param {Cartesian3} [options.closePoint=options.testPoint] A reference point near the target geometry that seeds the snap search.
43
+ * @param {number} [options.snapAperture=SnapService.DEFAULT_SNAP_APERTURE] The snap tolerance in CSS pixels.
44
+ * @returns {Promise<SnapService.Result|undefined>} The snap result, or <code>undefined</code> if no snap was possible.
45
+ */
46
+ async snap(options) {
47
+ DeveloperError.throwInstantiationError();
48
+ }
49
+ }
50
+
51
+ /**
52
+ * The default snap tolerance used by {@link SnapService#snap} when
53
+ * <code>options.snapAperture</code> is not provided, in CSS pixels.
54
+ * The value is implementation-defined.
55
+ *
56
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
57
+ *
58
+ * @type {number}
59
+ * @constant
60
+ */
61
+ SnapService.DEFAULT_SNAP_APERTURE = undefined;
62
+
63
+ export default SnapService;
@@ -422,7 +422,7 @@ TerrainEncoding.prototype.decodePosition = function (buffer, index, result) {
422
422
  /**
423
423
  * Decode a position from the vertex buffer and apply vertical exaggeration.
424
424
  *
425
- * @param {Float32Array} buffer
425
+ * @param {Float32Array|Float64Array} buffer
426
426
  * @param {number} index
427
427
  * @param {Cartesian3} [result]
428
428
  * @returns {Cartesian3} The exaggerated position.
@@ -587,7 +587,7 @@ TerrainEncoding.prototype.decodeNormal = function (buffer, index, result) {
587
587
  Check.typeOf.object("result", result);
588
588
  //>>includeEnd('debug');
589
589
 
590
- const bufferIndex = (index = index * this.stride + this._offsetVertexNormal);
590
+ const bufferIndex = index * this.stride + this._offsetVertexNormal;
591
591
  return AttributeCompression.octDecodeFloat(buffer[bufferIndex], result);
592
592
  };
593
593