@cesium/engine 14.0.0 → 16.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 (578) hide show
  1. package/Build/Workers/{chunk-WVNLSTOF.js → chunk-2TQ64T4I.js} +2 -2
  2. package/Build/Workers/{chunk-ED6GLQTK.js → chunk-34EWMUFG.js} +1 -1
  3. package/Build/Workers/{chunk-HEZHXDYB.js → chunk-4LHK6E47.js} +1 -1
  4. package/Build/Workers/{chunk-7EO56M5R.js → chunk-5TN3LG2T.js} +2 -2
  5. package/Build/Workers/{chunk-7ZB2RVIQ.js → chunk-6B7KGA5P.js} +16 -19
  6. package/Build/Workers/{chunk-3QLSKXKF.js → chunk-B75OO2DU.js} +7 -10
  7. package/Build/Workers/{chunk-Q4ZVWJXX.js → chunk-COOLDICB.js} +9 -11
  8. package/Build/Workers/{chunk-3PIZQT3I.js → chunk-CQNYYX3N.js} +4 -4
  9. package/Build/Workers/{chunk-JPDKYBLF.js → chunk-CUJH7PS5.js} +27 -29
  10. package/Build/Workers/{chunk-CI2HEJFC.js → chunk-EAWYQ44R.js} +39 -41
  11. package/Build/Workers/{chunk-SDIDRZDG.js → chunk-EJJDBH5W.js} +7 -7
  12. package/Build/Workers/{chunk-5KWRW7YL.js → chunk-EO44CO62.js} +2 -2
  13. package/Build/Workers/{chunk-N2XAJBC6.js → chunk-EOIUWEAK.js} +26 -28
  14. package/Build/Workers/{chunk-YJX7X577.js → chunk-ERKJ7IWJ.js} +21 -23
  15. package/Build/Workers/{chunk-J7IH4EYI.js → chunk-ESED7XBA.js} +13 -16
  16. package/Build/Workers/{chunk-F4CUH4MR.js → chunk-FW2OX42E.js} +18 -21
  17. package/Build/Workers/{chunk-FX4R4MTH.js → chunk-GH6I7PBY.js} +6 -9
  18. package/Build/Workers/{chunk-FYGLNDKG.js → chunk-GQVSADCI.js} +19 -22
  19. package/Build/Workers/{chunk-TY4DKOWR.js → chunk-ICU72UPR.js} +4 -4
  20. package/Build/Workers/{chunk-DT5NFR5C.js → chunk-ILVAXLMC.js} +7 -7
  21. package/Build/Workers/{chunk-ZGFIT57T.js → chunk-KKV6XBF5.js} +27 -23
  22. package/Build/Workers/{chunk-HKHQ3EDR.js → chunk-KV6TEHXY.js} +4 -4
  23. package/Build/Workers/{chunk-B4GSRXE3.js → chunk-LCSH4ZOB.js} +7 -10
  24. package/Build/Workers/{chunk-LNSWJ43X.js → chunk-M5J3S3HY.js} +17 -26
  25. package/Build/Workers/{chunk-LJBJM6VI.js → chunk-NB6D74SQ.js} +6 -6
  26. package/Build/Workers/{chunk-4CHMVQTQ.js → chunk-NREPBWCX.js} +14 -14
  27. package/Build/Workers/{chunk-PWF4EY5P.js → chunk-OD4Q7HE5.js} +4 -4
  28. package/Build/Workers/{chunk-77XPS7ZA.js → chunk-OMFZ4IN6.js} +15 -24
  29. package/Build/Workers/{chunk-HUFQVUMY.js → chunk-OMZGZVHI.js} +12 -17
  30. package/Build/Workers/{chunk-LOZ4NKY3.js → chunk-ORIMMEHO.js} +18 -20
  31. package/Build/Workers/{chunk-5S5OOA6U.js → chunk-OWLBD6BL.js} +1 -1
  32. package/Build/Workers/{chunk-VCNOFQYH.js → chunk-PB6SE3SZ.js} +9 -12
  33. package/Build/Workers/{chunk-3JBEPBPL.js → chunk-PT6U7UNY.js} +25 -30
  34. package/Build/Workers/{chunk-G3BVMPWG.js → chunk-RWAFHSX3.js} +2 -2
  35. package/Build/Workers/{chunk-KHWLAQVA.js → chunk-S2NKKWYE.js} +1 -1
  36. package/Build/Workers/{chunk-FFBJDW4A.js → chunk-S3IQBSIB.js} +6 -6
  37. package/Build/Workers/{chunk-3LYROPON.js → chunk-SCUQTTCN.js} +16 -19
  38. package/Build/Workers/{chunk-ZMNLEL6W.js → chunk-TBSA4MNF.js} +5 -8
  39. package/Build/Workers/{chunk-EWDGNOJE.js → chunk-TEUGW455.js} +9 -12
  40. package/Build/Workers/{chunk-XK4OP6VA.js → chunk-TL5YKZJF.js} +33 -41
  41. package/Build/Workers/{chunk-KM6MITPF.js → chunk-V4Y7C25O.js} +46 -42
  42. package/Build/Workers/{chunk-OMXHEJTK.js → chunk-VNDECE6N.js} +2 -2
  43. package/Build/Workers/{chunk-LS3KVHYY.js → chunk-VVTAI2TN.js} +6 -9
  44. package/Build/Workers/{chunk-WEHZP4SE.js → chunk-VXAAIRJ7.js} +129 -146
  45. package/Build/Workers/{chunk-MVM4JV5U.js → chunk-WGIOUM2S.js} +9 -12
  46. package/Build/Workers/{chunk-JHBPC4LK.js → chunk-XF6EBVKV.js} +7 -7
  47. package/Build/Workers/{chunk-D7ZBZPHV.js → chunk-XMKE4XB2.js} +5 -5
  48. package/Build/Workers/{chunk-7UHKH6M3.js → chunk-YA4XALD5.js} +34 -36
  49. package/Build/Workers/{chunk-KSYBJA4M.js → chunk-YFXXUW6U.js} +6 -12
  50. package/Build/Workers/{chunk-Z3QWTHI7.js → chunk-YL26OJCG.js} +21 -23
  51. package/Build/Workers/{chunk-K4AH3TDT.js → chunk-ZLJDDRGB.js} +14 -17
  52. package/Build/Workers/combineGeometry.js +21 -22
  53. package/Build/Workers/createBoxGeometry.js +15 -16
  54. package/Build/Workers/createBoxOutlineGeometry.js +20 -25
  55. package/Build/Workers/createCircleGeometry.js +26 -28
  56. package/Build/Workers/createCircleOutlineGeometry.js +19 -21
  57. package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
  58. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
  59. package/Build/Workers/createCorridorGeometry.js +42 -49
  60. package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
  61. package/Build/Workers/createCylinderGeometry.js +17 -18
  62. package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
  63. package/Build/Workers/createEllipseGeometry.js +23 -24
  64. package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
  65. package/Build/Workers/createEllipsoidGeometry.js +16 -17
  66. package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
  67. package/Build/Workers/createFrustumGeometry.js +15 -16
  68. package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
  69. package/Build/Workers/createGeometry.js +22 -25
  70. package/Build/Workers/createGroundPolylineGeometry.js +34 -42
  71. package/Build/Workers/createPlaneGeometry.js +19 -21
  72. package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
  73. package/Build/Workers/createPolygonGeometry.js +45 -50
  74. package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
  75. package/Build/Workers/createPolylineGeometry.js +33 -40
  76. package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
  77. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
  78. package/Build/Workers/createRectangleGeometry.js +41 -51
  79. package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
  80. package/Build/Workers/createSimplePolylineGeometry.js +29 -34
  81. package/Build/Workers/createSphereGeometry.js +17 -20
  82. package/Build/Workers/createSphereOutlineGeometry.js +16 -19
  83. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  84. package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
  85. package/Build/Workers/createVectorTileGeometries.js +21 -22
  86. package/Build/Workers/createVectorTilePoints.js +11 -12
  87. package/Build/Workers/createVectorTilePolygons.js +19 -20
  88. package/Build/Workers/createVectorTilePolylines.js +12 -13
  89. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
  90. package/Build/Workers/createVerticesFromHeightmap.js +31 -58
  91. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
  92. package/Build/Workers/createWallGeometry.js +30 -35
  93. package/Build/Workers/createWallOutlineGeometry.js +28 -33
  94. package/Build/Workers/decodeDraco.js +10 -11
  95. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  96. package/Build/Workers/decodeI3S.js +10 -16
  97. package/Build/Workers/transcodeKTX2.js +50 -46
  98. package/Build/Workers/transferTypedArrayTest.js +1 -1
  99. package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
  100. package/Source/Core/ApproximateTerrainHeights.js +2 -3
  101. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
  102. package/Source/Core/AxisAlignedBoundingBox.js +2 -3
  103. package/Source/Core/BingMapsGeocoderService.js +2 -2
  104. package/Source/Core/BoundingRectangle.js +7 -8
  105. package/Source/Core/BoundingSphere.js +10 -11
  106. package/Source/Core/BoxGeometry.js +7 -7
  107. package/Source/Core/BoxOutlineGeometry.js +7 -9
  108. package/Source/Core/Cartesian2.js +4 -5
  109. package/Source/Core/Cartesian3.js +7 -8
  110. package/Source/Core/Cartesian4.js +6 -7
  111. package/Source/Core/Cartographic.js +5 -6
  112. package/Source/Core/CatmullRomSpline.js +2 -2
  113. package/Source/Core/CesiumTerrainProvider.js +11 -14
  114. package/Source/Core/CircleGeometry.js +2 -2
  115. package/Source/Core/CircleOutlineGeometry.js +2 -2
  116. package/Source/Core/Clock.js +7 -10
  117. package/Source/Core/Color.js +28 -28
  118. package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
  119. package/Source/Core/ComponentDatatype.js +4 -6
  120. package/Source/Core/CoplanarPolygonGeometry.js +8 -10
  121. package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
  122. package/Source/Core/CorridorGeometry.js +15 -20
  123. package/Source/Core/CorridorOutlineGeometry.js +10 -15
  124. package/Source/Core/Credit.js +1 -2
  125. package/Source/Core/CullingVolume.js +1 -2
  126. package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
  127. package/Source/Core/CylinderGeometry.js +7 -7
  128. package/Source/Core/CylinderOutlineGeometry.js +7 -7
  129. package/Source/Core/DistanceDisplayCondition.js +4 -5
  130. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
  131. package/Source/Core/EarthOrientationParameters.js +4 -4
  132. package/Source/Core/EllipseGeometry.js +17 -23
  133. package/Source/Core/EllipseOutlineGeometry.js +12 -15
  134. package/Source/Core/Ellipsoid.js +7 -8
  135. package/Source/Core/EllipsoidGeodesic.js +1 -2
  136. package/Source/Core/EllipsoidGeometry.js +15 -15
  137. package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
  138. package/Source/Core/EllipsoidRhumbLine.js +3 -4
  139. package/Source/Core/EllipsoidTangentPlane.js +1 -2
  140. package/Source/Core/EllipsoidTerrainProvider.js +4 -4
  141. package/Source/Core/EllipsoidalOccluder.js +2 -3
  142. package/Source/Core/FeatureDetection.js +1 -2
  143. package/Source/Core/Frozen.js +24 -0
  144. package/Source/Core/FrustumGeometry.js +7 -8
  145. package/Source/Core/FrustumOutlineGeometry.js +3 -4
  146. package/Source/Core/GeographicProjection.js +1 -2
  147. package/Source/Core/GeographicTilingScheme.js +6 -12
  148. package/Source/Core/Geometry.js +4 -7
  149. package/Source/Core/GeometryAttribute.js +3 -3
  150. package/Source/Core/GeometryAttributes.js +2 -2
  151. package/Source/Core/GeometryInstance.js +4 -6
  152. package/Source/Core/GeometryInstanceAttribute.js +3 -3
  153. package/Source/Core/GeometryPipeline.js +3 -4
  154. package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
  155. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
  156. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
  157. package/Source/Core/GoogleGeocoderService.js +2 -2
  158. package/Source/Core/GregorianDate.js +8 -9
  159. package/Source/Core/GroundPolylineGeometry.js +8 -8
  160. package/Source/Core/HeadingPitchRange.js +3 -4
  161. package/Source/Core/HeadingPitchRoll.js +3 -4
  162. package/Source/Core/Heap.js +3 -4
  163. package/Source/Core/HeightmapTerrainData.js +22 -38
  164. package/Source/Core/HeightmapTessellator.js +21 -37
  165. package/Source/Core/HermitePolynomialApproximation.js +1 -2
  166. package/Source/Core/HermiteSpline.js +5 -5
  167. package/Source/Core/ITwinPlatform.js +66 -12
  168. package/Source/Core/Iau2006XysData.js +8 -10
  169. package/Source/Core/IntersectionTests.js +1 -2
  170. package/Source/Core/Interval.js +2 -4
  171. package/Source/Core/Ion.js +1 -1
  172. package/Source/Core/IonGeocoderService.js +6 -10
  173. package/Source/Core/IonResource.js +6 -6
  174. package/Source/Core/JulianDate.js +11 -12
  175. package/Source/Core/LinearSpline.js +2 -2
  176. package/Source/Core/ManagedArray.js +2 -3
  177. package/Source/Core/Math.js +36 -27
  178. package/Source/Core/Matrix2.js +7 -8
  179. package/Source/Core/Matrix3.js +12 -13
  180. package/Source/Core/Matrix4.js +28 -28
  181. package/Source/Core/MorphWeightSpline.js +2 -2
  182. package/Source/Core/NearFarScalar.js +6 -7
  183. package/Source/Core/Occluder.js +1 -2
  184. package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
  185. package/Source/Core/OpenCageGeocoderService.js +1 -2
  186. package/Source/Core/OrientedBoundingBox.js +7 -8
  187. package/Source/Core/OrthographicFrustum.js +6 -6
  188. package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
  189. package/Source/Core/PerspectiveFrustum.js +8 -8
  190. package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
  191. package/Source/Core/PlaneGeometry.js +5 -5
  192. package/Source/Core/PolygonGeometry.js +16 -19
  193. package/Source/Core/PolygonGeometryLibrary.js +27 -6
  194. package/Source/Core/PolygonOutlineGeometry.js +11 -14
  195. package/Source/Core/PolygonPipeline.js +5 -6
  196. package/Source/Core/PolylineGeometry.js +10 -15
  197. package/Source/Core/PolylinePipeline.js +7 -14
  198. package/Source/Core/PolylineVolumeGeometry.js +8 -13
  199. package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
  200. package/Source/Core/QuantizedMeshTerrainData.js +12 -16
  201. package/Source/Core/Quaternion.js +7 -8
  202. package/Source/Core/QuaternionSpline.js +2 -2
  203. package/Source/Core/Ray.js +2 -3
  204. package/Source/Core/Rectangle.js +18 -19
  205. package/Source/Core/RectangleGeometry.js +17 -25
  206. package/Source/Core/RectangleGeometryLibrary.js +1 -1
  207. package/Source/Core/RectangleOutlineGeometry.js +10 -13
  208. package/Source/Core/Request.js +6 -6
  209. package/Source/Core/RequestScheduler.js +4 -6
  210. package/Source/Core/Resource.js +13 -16
  211. package/Source/Core/S2Cell.js +2 -3
  212. package/Source/Core/ScreenSpaceEventHandler.js +1 -2
  213. package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
  214. package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
  215. package/Source/Core/SimplePolylineGeometry.js +8 -11
  216. package/Source/Core/SphereGeometry.js +1 -2
  217. package/Source/Core/SphereOutlineGeometry.js +1 -2
  218. package/Source/Core/Spherical.js +4 -5
  219. package/Source/Core/Spline.js +1 -2
  220. package/Source/Core/SteppedSpline.js +2 -2
  221. package/Source/Core/TaskProcessor.js +2 -9
  222. package/Source/Core/TerrainData.js +1 -1
  223. package/Source/Core/TerrainEncoding.js +4 -11
  224. package/Source/Core/TerrainMesh.js +1 -3
  225. package/Source/Core/TerrainProvider.js +1 -1
  226. package/Source/Core/TexturePacker.js +166 -0
  227. package/Source/Core/TileProviderError.js +1 -2
  228. package/Source/Core/TimeInterval.js +7 -7
  229. package/Source/Core/TimeIntervalCollection.js +7 -7
  230. package/Source/Core/Tipsify.js +5 -5
  231. package/Source/Core/Transforms.js +10 -15
  232. package/Source/Core/TranslationRotationScale.js +3 -6
  233. package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
  234. package/Source/Core/VertexFormat.js +10 -10
  235. package/Source/Core/VerticalExaggeration.js +1 -1
  236. package/Source/Core/VideoSynchronizer.js +6 -6
  237. package/Source/Core/WallGeometry.js +8 -11
  238. package/Source/Core/WallOutlineGeometry.js +7 -10
  239. package/Source/Core/WebMercatorProjection.js +1 -2
  240. package/Source/Core/WebMercatorTilingScheme.js +5 -11
  241. package/Source/Core/arrayRemoveDuplicates.js +1 -2
  242. package/Source/Core/clone.js +1 -3
  243. package/Source/Core/combine.js +1 -2
  244. package/Source/Core/createWorldBathymetryAsync.js +3 -3
  245. package/Source/Core/createWorldTerrainAsync.js +4 -4
  246. package/Source/Core/defaultValue.js +20 -1
  247. package/Source/Core/destroyObject.js +1 -5
  248. package/Source/Core/getAbsoluteUri.js +1 -2
  249. package/Source/Core/getMagic.js +1 -2
  250. package/Source/Core/getStringFromTypedArray.js +2 -3
  251. package/Source/Core/loadImageFromTypedArray.js +2 -6
  252. package/Source/Core/oneTimeWarning.js +1 -2
  253. package/Source/Core/writeTextToCanvas.js +10 -13
  254. package/Source/DataSources/BillboardGraphics.js +27 -53
  255. package/Source/DataSources/BillboardVisualizer.js +3 -3
  256. package/Source/DataSources/BoxGraphics.js +13 -18
  257. package/Source/DataSources/CallbackPositionProperty.js +1 -2
  258. package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
  259. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  260. package/Source/DataSources/CompositePositionProperty.js +1 -2
  261. package/Source/DataSources/ConstantPositionProperty.js +1 -2
  262. package/Source/DataSources/CorridorGraphics.js +23 -35
  263. package/Source/DataSources/CylinderGraphics.js +18 -25
  264. package/Source/DataSources/CzmlDataSource.js +34 -60
  265. package/Source/DataSources/DataSourceClock.js +12 -13
  266. package/Source/DataSources/DataSourceCollection.js +2 -3
  267. package/Source/DataSources/DataSourceDisplay.js +2 -5
  268. package/Source/DataSources/EllipseGraphics.js +26 -40
  269. package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
  270. package/Source/DataSources/EllipsoidGraphics.js +21 -32
  271. package/Source/DataSources/Entity.js +7 -9
  272. package/Source/DataSources/EntityCluster.js +53 -28
  273. package/Source/DataSources/EntityView.js +1 -2
  274. package/Source/DataSources/GeoJsonDataSource.js +12 -12
  275. package/Source/DataSources/GeometryUpdater.js +12 -17
  276. package/Source/DataSources/GeometryVisualizer.js +2 -3
  277. package/Source/DataSources/GpxDataSource.js +4 -7
  278. package/Source/DataSources/GridMaterialProperty.js +2 -2
  279. package/Source/DataSources/GroundGeometryUpdater.js +1 -2
  280. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  281. package/Source/DataSources/KmlDataSource.js +84 -158
  282. package/Source/DataSources/LabelGraphics.js +27 -56
  283. package/Source/DataSources/LabelVisualizer.js +1 -2
  284. package/Source/DataSources/ModelGraphics.js +29 -63
  285. package/Source/DataSources/ModelVisualizer.js +1 -2
  286. package/Source/DataSources/NodeTransformationProperty.js +2 -2
  287. package/Source/DataSources/PathGraphics.js +10 -12
  288. package/Source/DataSources/PlaneGraphics.js +13 -15
  289. package/Source/DataSources/PointGraphics.js +17 -32
  290. package/Source/DataSources/PolygonGraphics.js +28 -45
  291. package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
  292. package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
  293. package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
  294. package/Source/DataSources/PolylineGraphics.js +16 -23
  295. package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
  296. package/Source/DataSources/PolylineVisualizer.js +2 -3
  297. package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
  298. package/Source/DataSources/PositionPropertyArray.js +1 -2
  299. package/Source/DataSources/Property.js +1 -2
  300. package/Source/DataSources/PropertyBag.js +1 -2
  301. package/Source/DataSources/RectangleGraphics.js +23 -35
  302. package/Source/DataSources/Rotation.js +4 -5
  303. package/Source/DataSources/SampledPositionProperty.js +2 -3
  304. package/Source/DataSources/SampledProperty.js +6 -11
  305. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
  306. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  307. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
  308. package/Source/DataSources/VelocityOrientationProperty.js +1 -2
  309. package/Source/DataSources/VelocityVectorProperty.js +1 -2
  310. package/Source/DataSources/WallGraphics.js +15 -23
  311. package/Source/DataSources/createPropertyDescriptor.js +2 -3
  312. package/Source/DataSources/exportKml.js +11 -14
  313. package/Source/Renderer/Buffer.js +5 -5
  314. package/Source/Renderer/ClearCommand.js +2 -2
  315. package/Source/Renderer/ComputeCommand.js +3 -3
  316. package/Source/Renderer/Context.js +22 -37
  317. package/Source/Renderer/CubeMap.js +6 -6
  318. package/Source/Renderer/CubeMapFace.js +11 -12
  319. package/Source/Renderer/DrawCommand.js +14 -25
  320. package/Source/Renderer/Framebuffer.js +3 -3
  321. package/Source/Renderer/FramebufferManager.js +25 -39
  322. package/Source/Renderer/MultisampleFramebuffer.js +2 -2
  323. package/Source/Renderer/RenderState.js +63 -92
  324. package/Source/Renderer/Renderbuffer.js +4 -4
  325. package/Source/Renderer/Sampler.js +2 -2
  326. package/Source/Renderer/ShaderBuilder.js +2 -3
  327. package/Source/Renderer/ShaderProgram.js +3 -3
  328. package/Source/Renderer/ShaderSource.js +3 -3
  329. package/Source/Renderer/Texture.js +16 -15
  330. package/Source/Renderer/TextureAtlas.js +802 -0
  331. package/Source/Renderer/UniformState.js +6 -11
  332. package/Source/Renderer/VertexArray.js +14 -23
  333. package/Source/Renderer/VertexArrayFacade.js +7 -11
  334. package/Source/Scene/Appearance.js +4 -4
  335. package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
  336. package/Source/Scene/ArcGisMapService.js +1 -1
  337. package/Source/Scene/B3dmParser.js +2 -3
  338. package/Source/Scene/BatchTableHierarchy.js +6 -13
  339. package/Source/Scene/Billboard.js +105 -182
  340. package/Source/Scene/BillboardCollection.js +140 -224
  341. package/Source/Scene/BillboardLoadState.js +44 -0
  342. package/Source/Scene/BillboardTexture.js +348 -0
  343. package/Source/Scene/BingMapsImageryProvider.js +6 -6
  344. package/Source/Scene/BoxEmitter.js +1 -2
  345. package/Source/Scene/BufferLoader.js +2 -2
  346. package/Source/Scene/Camera.js +45 -64
  347. package/Source/Scene/CameraFlightPath.js +6 -6
  348. package/Source/Scene/Cesium3DContentGroup.js +2 -2
  349. package/Source/Scene/Cesium3DTile.js +3 -4
  350. package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
  351. package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
  352. package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
  353. package/Source/Scene/Cesium3DTileStyle.js +4 -7
  354. package/Source/Scene/Cesium3DTilesVoxelProvider.js +419 -137
  355. package/Source/Scene/Cesium3DTileset.js +77 -143
  356. package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
  357. package/Source/Scene/Cesium3DTilesetStatistics.js +0 -1
  358. package/Source/Scene/CircleEmitter.js +2 -3
  359. package/Source/Scene/ClassificationPrimitive.js +15 -26
  360. package/Source/Scene/ClippingPlaneCollection.js +7 -12
  361. package/Source/Scene/ClippingPolygon.js +1 -2
  362. package/Source/Scene/ClippingPolygonCollection.js +4 -4
  363. package/Source/Scene/CloudCollection.js +9 -11
  364. package/Source/Scene/Composite3DTileContent.js +1 -2
  365. package/Source/Scene/ConeEmitter.js +1 -2
  366. package/Source/Scene/ContentMetadata.js +2 -2
  367. package/Source/Scene/CreditDisplay.js +5 -9
  368. package/Source/Scene/CumulusCloud.js +9 -15
  369. package/Source/Scene/DebugAppearance.js +7 -7
  370. package/Source/Scene/DebugCameraPrimitive.js +5 -5
  371. package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
  372. package/Source/Scene/DepthPlane.js +1 -2
  373. package/Source/Scene/DirectionalLight.js +2 -3
  374. package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
  375. package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
  376. package/Source/Scene/EllipsoidPrimitive.js +11 -19
  377. package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
  378. package/Source/Scene/Expression.js +1 -0
  379. package/Source/Scene/FrameRateMonitor.js +12 -21
  380. package/Source/Scene/FrustumCommands.js +2 -3
  381. package/Source/Scene/Geometry3DTileContent.js +9 -16
  382. package/Source/Scene/Globe.js +3 -4
  383. package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
  384. package/Source/Scene/GlobeTranslucencyState.js +12 -25
  385. package/Source/Scene/GltfBufferViewLoader.js +4 -4
  386. package/Source/Scene/GltfDracoLoader.js +2 -2
  387. package/Source/Scene/GltfImageLoader.js +2 -2
  388. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  389. package/Source/Scene/GltfJsonLoader.js +2 -2
  390. package/Source/Scene/GltfLoader.js +22 -37
  391. package/Source/Scene/GltfLoaderUtil.js +11 -11
  392. package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
  393. package/Source/Scene/GltfPipeline/addToArray.js +1 -3
  394. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
  395. package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
  396. package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
  397. package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
  398. package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
  399. package/Source/Scene/GltfTextureLoader.js +3 -3
  400. package/Source/Scene/GltfVertexBufferLoader.js +5 -5
  401. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
  402. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
  403. package/Source/Scene/GridImageryProvider.js +10 -13
  404. package/Source/Scene/GroundPolylinePrimitive.js +11 -22
  405. package/Source/Scene/GroundPrimitive.js +13 -24
  406. package/Source/Scene/GroupMetadata.js +2 -2
  407. package/Source/Scene/I3SDataProvider.js +10 -15
  408. package/Source/Scene/I3SNode.js +1 -6
  409. package/Source/Scene/I3SSublayer.js +1 -2
  410. package/Source/Scene/I3SSymbology.js +2 -3
  411. package/Source/Scene/I3dmParser.js +1 -2
  412. package/Source/Scene/ITwinData.js +11 -6
  413. package/Source/Scene/ImageBasedLighting.js +2 -2
  414. package/Source/Scene/ImageryLayer.js +42 -71
  415. package/Source/Scene/ImageryLayerCollection.js +2 -3
  416. package/Source/Scene/Implicit3DTileContent.js +3 -4
  417. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
  418. package/Source/Scene/ImplicitMetadataView.js +2 -2
  419. package/Source/Scene/ImplicitSubtree.js +10 -15
  420. package/Source/Scene/ImplicitSubtreeCache.js +3 -3
  421. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  422. package/Source/Scene/InstanceAttributeSemantic.js +1 -1
  423. package/Source/Scene/IonImageryProvider.js +3 -3
  424. package/Source/Scene/KeyframeNode.js +16 -2
  425. package/Source/Scene/Label.js +19 -36
  426. package/Source/Scene/LabelCollection.js +218 -196
  427. package/Source/Scene/MapboxImageryProvider.js +4 -4
  428. package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
  429. package/Source/Scene/Material.js +14 -20
  430. package/Source/Scene/MaterialAppearance.js +12 -18
  431. package/Source/Scene/Megatexture.js +145 -82
  432. package/Source/Scene/MetadataClass.js +4 -4
  433. package/Source/Scene/MetadataClassProperty.js +11 -14
  434. package/Source/Scene/MetadataEnum.js +4 -7
  435. package/Source/Scene/MetadataEnumValue.js +2 -2
  436. package/Source/Scene/MetadataSchema.js +4 -4
  437. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  438. package/Source/Scene/MetadataTable.js +2 -2
  439. package/Source/Scene/MetadataTableProperty.js +17 -31
  440. package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
  441. package/Source/Scene/Model/B3dmLoader.js +15 -26
  442. package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
  443. package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
  444. package/Source/Scene/Model/CustomShader.js +10 -14
  445. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
  446. package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
  447. package/Source/Scene/Model/GeoJsonLoader.js +5 -8
  448. package/Source/Scene/Model/I3dmLoader.js +13 -21
  449. package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
  450. package/Source/Scene/Model/Model.js +41 -63
  451. package/Source/Scene/Model/ModelAnimation.js +5 -6
  452. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  453. package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
  454. package/Source/Scene/Model/ModelArticulation.js +2 -2
  455. package/Source/Scene/Model/ModelArticulationStage.js +2 -2
  456. package/Source/Scene/Model/ModelDrawCommand.js +3 -3
  457. package/Source/Scene/Model/ModelFeatureTable.js +3 -9
  458. package/Source/Scene/Model/ModelLightingOptions.js +3 -3
  459. package/Source/Scene/Model/ModelNode.js +1 -1
  460. package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
  461. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
  462. package/Source/Scene/Model/ModelSceneGraph.js +2 -2
  463. package/Source/Scene/Model/ModelSkin.js +2 -2
  464. package/Source/Scene/Model/ModelUtility.js +5 -1
  465. package/Source/Scene/Model/PickingPipelineStage.js +1 -2
  466. package/Source/Scene/Model/PntsLoader.js +6 -6
  467. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
  468. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
  469. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
  470. package/Source/Scene/Model/TextureUniform.js +5 -8
  471. package/Source/Scene/Model/VaryingType.js +2 -2
  472. package/Source/Scene/Model/pickModel.js +4 -5
  473. package/Source/Scene/Moon.js +5 -5
  474. package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
  475. package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
  476. package/Source/Scene/Particle.js +11 -17
  477. package/Source/Scene/ParticleBurst.js +5 -5
  478. package/Source/Scene/ParticleSystem.js +24 -54
  479. package/Source/Scene/PerInstanceColorAppearance.js +8 -8
  480. package/Source/Scene/PerformanceDisplay.js +3 -3
  481. package/Source/Scene/PickFramebuffer.js +4 -5
  482. package/Source/Scene/Picking.js +3 -4
  483. package/Source/Scene/PntsParser.js +1 -2
  484. package/Source/Scene/PointCloud.js +6 -12
  485. package/Source/Scene/PointCloudShading.js +9 -18
  486. package/Source/Scene/PointPrimitive.js +11 -21
  487. package/Source/Scene/PointPrimitiveCollection.js +6 -14
  488. package/Source/Scene/Polyline.js +5 -5
  489. package/Source/Scene/PolylineCollection.js +5 -10
  490. package/Source/Scene/PolylineColorAppearance.js +7 -11
  491. package/Source/Scene/PolylineMaterialAppearance.js +7 -11
  492. package/Source/Scene/PostProcessStage.js +2 -2
  493. package/Source/Scene/PostProcessStageComposite.js +3 -6
  494. package/Source/Scene/Primitive.js +21 -42
  495. package/Source/Scene/PrimitiveCollection.js +4 -4
  496. package/Source/Scene/PrimitivePipeline.js +1 -2
  497. package/Source/Scene/PropertyAttribute.js +2 -2
  498. package/Source/Scene/PropertyAttributeProperty.js +4 -4
  499. package/Source/Scene/PropertyTable.js +2 -2
  500. package/Source/Scene/PropertyTexture.js +2 -2
  501. package/Source/Scene/PropertyTextureProperty.js +4 -4
  502. package/Source/Scene/QuadtreePrimitive.js +84 -66
  503. package/Source/Scene/QuadtreeTile.js +170 -0
  504. package/Source/Scene/ResourceCache.js +11 -11
  505. package/Source/Scene/ResourceCacheKey.js +11 -11
  506. package/Source/Scene/Scene.js +66 -40
  507. package/Source/Scene/ScreenSpaceCameraController.js +10 -20
  508. package/Source/Scene/ShadowMap.js +15 -15
  509. package/Source/Scene/ShadowVolumeAppearance.js +1 -2
  510. package/Source/Scene/SingleTileImageryProvider.js +4 -4
  511. package/Source/Scene/SkyAtmosphere.js +1 -2
  512. package/Source/Scene/SkyBox.js +1 -2
  513. package/Source/Scene/SpatialNode.js +4 -11
  514. package/Source/Scene/SphereEmitter.js +2 -3
  515. package/Source/Scene/StructuralMetadata.js +2 -2
  516. package/Source/Scene/SunLight.js +4 -4
  517. package/Source/Scene/SupportedImageFormats.js +4 -4
  518. package/Source/Scene/TileBoundingRegion.js +4 -5
  519. package/Source/Scene/TileBoundingS2Cell.js +3 -4
  520. package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
  521. package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
  522. package/Source/Scene/TileMetadata.js +2 -2
  523. package/Source/Scene/TilesetMetadata.js +2 -2
  524. package/Source/Scene/TimeDynamicImagery.js +2 -2
  525. package/Source/Scene/TimeDynamicPointCloud.js +8 -10
  526. package/Source/Scene/TweenCollection.js +13 -16
  527. package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
  528. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
  529. package/Source/Scene/Vector3DTileContent.js +16 -20
  530. package/Source/Scene/Vector3DTileGeometry.js +1 -2
  531. package/Source/Scene/Vector3DTilePoints.js +2 -5
  532. package/Source/Scene/Vector3DTilePolygons.js +2 -3
  533. package/Source/Scene/Vector3DTilePolylines.js +1 -2
  534. package/Source/Scene/Vector3DTilePrimitive.js +9 -13
  535. package/Source/Scene/VoxelBoxShape.js +14 -8
  536. package/Source/Scene/VoxelCell.js +6 -5
  537. package/Source/Scene/VoxelContent.js +171 -107
  538. package/Source/Scene/VoxelCylinderShape.js +69 -69
  539. package/Source/Scene/VoxelEllipsoidShape.js +17 -8
  540. package/Source/Scene/VoxelMetadataOrder.js +24 -0
  541. package/Source/Scene/VoxelPrimitive.js +134 -79
  542. package/Source/Scene/VoxelProvider.js +22 -29
  543. package/Source/Scene/VoxelRenderResources.js +26 -7
  544. package/Source/Scene/VoxelShape.js +10 -3
  545. package/Source/Scene/VoxelTraversal.js +260 -180
  546. package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
  547. package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
  548. package/Source/Scene/createElevationBandMaterial.js +4 -4
  549. package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
  550. package/Source/Scene/createOsmBuildingsAsync.js +3 -6
  551. package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
  552. package/Source/Scene/createWorldImageryAsync.js +3 -3
  553. package/Source/Scene/findContentMetadata.js +2 -5
  554. package/Source/Scene/findTileMetadata.js +2 -5
  555. package/Source/Scene/parseBatchTable.js +1 -5
  556. package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
  557. package/Source/Scene/parseStructuralMetadata.js +2 -2
  558. package/Source/Scene/processVoxelProperties.js +3 -0
  559. package/Source/Shaders/GlobeFS.glsl +10 -1
  560. package/Source/Shaders/GlobeFS.js +10 -1
  561. package/Source/Shaders/Voxels/Megatexture.glsl +4 -16
  562. package/Source/Shaders/Voxels/Megatexture.js +4 -16
  563. package/Source/Shaders/Voxels/Octree.glsl +44 -7
  564. package/Source/Shaders/Voxels/Octree.js +44 -7
  565. package/Source/Shaders/Voxels/VoxelFS.glsl +9 -15
  566. package/Source/Shaders/Voxels/VoxelFS.js +9 -15
  567. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +15 -15
  568. package/Source/Shaders/Voxels/convertUvToCylinder.js +15 -15
  569. package/Source/Widget/CesiumWidget.js +17 -25
  570. package/Source/Workers/createGeometry.js +1 -2
  571. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
  572. package/Source/Workers/decodeI3S.js +1 -5
  573. package/Source/Workers/transcodeKTX2.js +1 -2
  574. package/index.d.ts +231 -92
  575. package/index.js +315 -310
  576. package/package.json +3 -3
  577. package/Build/Workers/chunk-TVL3F7IU.js +0 -39
  578. package/Source/Scene/TextureAtlas.js +0 -558
@@ -14,6 +14,11 @@ uniform sampler2D u_octreeLeafNodeTexture;\n\
14
14
  uniform vec2 u_octreeLeafNodeTexelSizeUv;\n\
15
15
  uniform int u_octreeLeafNodeTilesPerRow;\n\
16
16
  #endif\n\
17
+ uniform ivec3 u_dimensions; // does not include padding, and is in the z-up orientation\n\
18
+ uniform ivec3 u_inputDimensions; // includes padding, and is in the orientation of the input data\n\
19
+ #if defined(PADDING)\n\
20
+ uniform ivec3 u_paddingBefore;\n\
21
+ #endif\n\
17
22
  \n\
18
23
  struct OctreeNodeData {\n\
19
24
  int data;\n\
@@ -29,6 +34,7 @@ struct SampleData {\n\
29
34
  int megatextureIndex;\n\
30
35
  ivec4 tileCoords;\n\
31
36
  vec3 tileUv;\n\
37
+ vec3 inputCoordinate;\n\
32
38
  #if (SAMPLE_COUNT > 1)\n\
33
39
  float weight;\n\
34
40
  #endif\n\
@@ -89,6 +95,37 @@ vec3 getClampedTileUv(in vec3 shapePosition, in ivec4 octreeCoords) {\n\
89
95
  return clamp(tileUv, vec3(0.0), vec3(1.0));\n\
90
96
  }\n\
91
97
  \n\
98
+ void addSampleCoordinates(in vec3 shapePosition, inout SampleData sampleData) {\n\
99
+ vec3 tileUv = getClampedTileUv(shapePosition, sampleData.tileCoords);\n\
100
+ \n\
101
+ vec3 inputCoordinate = tileUv * vec3(u_dimensions);\n\
102
+ #if defined(PADDING)\n\
103
+ inputCoordinate += vec3(u_paddingBefore);\n\
104
+ #endif\n\
105
+ #if defined(Y_UP_METADATA_ORDER)\n\
106
+ #if defined(SHAPE_BOX)\n\
107
+ float inputY = inputCoordinate.y;\n\
108
+ inputCoordinate.y = float(u_inputDimensions.y) - inputCoordinate.z;\n\
109
+ inputCoordinate.z = inputY;\n\
110
+ #elif defined(SHAPE_CYLINDER)\n\
111
+ float angle = inputCoordinate.y;\n\
112
+ float height = inputCoordinate.z;\n\
113
+ #if (!defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE))\n\
114
+ // Account for the different 0-angle convention in glTF vs 3DTiles\n\
115
+ if (sampleData.tileCoords.w == 0) {\n\
116
+ float angleCount = float(u_inputDimensions.z);\n\
117
+ angle = mod(angle + angleCount / 2.0, angleCount);\n\
118
+ }\n\
119
+ #endif\n\
120
+ inputCoordinate.y = height;\n\
121
+ inputCoordinate.z = angle;\n\
122
+ #endif\n\
123
+ #endif\n\
124
+ \n\
125
+ sampleData.tileUv = tileUv;\n\
126
+ sampleData.inputCoordinate = inputCoordinate;\n\
127
+ }\n\
128
+ \n\
92
129
  void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) {\n\
93
130
  sampleData.megatextureIndex = data.data;\n\
94
131
  sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT)\n\
@@ -173,11 +210,11 @@ void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traver
173
210
  \n\
174
211
  #if (SAMPLE_COUNT == 1)\n\
175
212
  getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]);\n\
176
- sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
213
+ addSampleCoordinates(shapePosition, sampleDatas[0]);\n\
177
214
  #else\n\
178
215
  getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas);\n\
179
- sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
180
- sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords);\n\
216
+ addSampleCoordinates(shapePosition, sampleDatas[0]);\n\
217
+ addSampleCoordinates(shapePosition, sampleDatas[1]);\n\
181
218
  #endif\n\
182
219
  }\n\
183
220
  \n\
@@ -195,7 +232,7 @@ bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) {\n\
195
232
  void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) {\n\
196
233
  if (insideTile(shapePosition, traversalData.octreeCoords)) {\n\
197
234
  for (int i = 0; i < SAMPLE_COUNT; i++) {\n\
198
- sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
235
+ addSampleCoordinates(shapePosition, sampleDatas[i]);\n\
199
236
  }\n\
200
237
  return;\n\
201
238
  }\n\
@@ -217,11 +254,11 @@ void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData trave
217
254
  \n\
218
255
  #if (SAMPLE_COUNT == 1)\n\
219
256
  getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]);\n\
220
- sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
257
+ addSampleCoordinates(shapePosition, sampleDatas[0]);\n\
221
258
  #else\n\
222
259
  getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas);\n\
223
- sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords);\n\
224
- sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords);\n\
260
+ addSampleCoordinates(shapePosition, sampleDatas[0]);\n\
261
+ addSampleCoordinates(shapePosition, sampleDatas[1]);\n\
225
262
  #endif\n\
226
263
  }\n\
227
264
  ";
@@ -100,21 +100,15 @@ vec2 packFloatToVec2(float value) {
100
100
  return vec2(highBits, lowBits);
101
101
  }
102
102
 
103
- int getSampleIndex(in vec3 tileUv) {
104
- ivec3 voxelDimensions = u_dimensions;
105
- vec3 sampleCoordinate = tileUv * vec3(voxelDimensions);
106
- // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not.
107
- // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1).
103
+ int getSampleIndex(in SampleData sampleData) {
104
+ // tileUv = 1.0 is a valid coordinate but sampleIndex = u_inputDimensions is not.
105
+ // (tileUv = 1.0 corresponds to the far edge of the last sample, at index = u_inputDimensions - 1).
108
106
  // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring
109
- vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5);
110
- sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate);
111
- ivec3 sampleIndex = ivec3(floor(sampleCoordinate));
112
- #if defined(PADDING)
113
- voxelDimensions += u_paddingBefore + u_paddingAfter;
114
- sampleIndex += u_paddingBefore;
115
- #endif
107
+ vec3 maxCoordinate = vec3(u_inputDimensions) - vec3(0.5);
108
+ vec3 inputCoordinate = clamp(sampleData.inputCoordinate, vec3(0.0), maxCoordinate);
109
+ ivec3 sampleIndex = ivec3(floor(inputCoordinate));
116
110
  // Convert to a 1D index for lookup in a 1D data array
117
- return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z);
111
+ return sampleIndex.x + u_inputDimensions.x * (sampleIndex.y + u_inputDimensions.y * sampleIndex.z);
118
112
  }
119
113
 
120
114
  void main()
@@ -181,7 +175,7 @@ void main()
181
175
  fragmentInput.voxel.travelDistance = step.w;
182
176
  fragmentInput.voxel.stepCount = stepCount;
183
177
  fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex;
184
- fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv);
178
+ fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0]);
185
179
 
186
180
  // Run the custom shader
187
181
  czm_modelMaterial materialOutput;
@@ -250,7 +244,7 @@ void main()
250
244
  discard;
251
245
  }
252
246
  vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex);
253
- vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv));
247
+ vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0]));
254
248
  out_FragColor = vec4(megatextureId, sampleIndex);
255
249
  #else
256
250
  out_FragColor = colorAccum;
@@ -101,21 +101,15 @@ vec2 packFloatToVec2(float value) {\n\
101
101
  return vec2(highBits, lowBits);\n\
102
102
  }\n\
103
103
  \n\
104
- int getSampleIndex(in vec3 tileUv) {\n\
105
- ivec3 voxelDimensions = u_dimensions;\n\
106
- vec3 sampleCoordinate = tileUv * vec3(voxelDimensions);\n\
107
- // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not.\n\
108
- // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1).\n\
104
+ int getSampleIndex(in SampleData sampleData) {\n\
105
+ // tileUv = 1.0 is a valid coordinate but sampleIndex = u_inputDimensions is not.\n\
106
+ // (tileUv = 1.0 corresponds to the far edge of the last sample, at index = u_inputDimensions - 1).\n\
109
107
  // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring\n\
110
- vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5);\n\
111
- sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate);\n\
112
- ivec3 sampleIndex = ivec3(floor(sampleCoordinate));\n\
113
- #if defined(PADDING)\n\
114
- voxelDimensions += u_paddingBefore + u_paddingAfter;\n\
115
- sampleIndex += u_paddingBefore;\n\
116
- #endif\n\
108
+ vec3 maxCoordinate = vec3(u_inputDimensions) - vec3(0.5);\n\
109
+ vec3 inputCoordinate = clamp(sampleData.inputCoordinate, vec3(0.0), maxCoordinate);\n\
110
+ ivec3 sampleIndex = ivec3(floor(inputCoordinate));\n\
117
111
  // Convert to a 1D index for lookup in a 1D data array\n\
118
- return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z);\n\
112
+ return sampleIndex.x + u_inputDimensions.x * (sampleIndex.y + u_inputDimensions.y * sampleIndex.z);\n\
119
113
  }\n\
120
114
  \n\
121
115
  void main()\n\
@@ -182,7 +176,7 @@ void main()\n\
182
176
  fragmentInput.voxel.travelDistance = step.w;\n\
183
177
  fragmentInput.voxel.stepCount = stepCount;\n\
184
178
  fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex;\n\
185
- fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv);\n\
179
+ fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0]);\n\
186
180
  \n\
187
181
  // Run the custom shader\n\
188
182
  czm_modelMaterial materialOutput;\n\
@@ -251,7 +245,7 @@ void main()\n\
251
245
  discard;\n\
252
246
  }\n\
253
247
  vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex);\n\
254
- vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv));\n\
248
+ vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0]));\n\
255
249
  out_FragColor = vec4(megatextureId, sampleIndex);\n\
256
250
  #else\n\
257
251
  out_FragColor = colorAccum;\n\
@@ -37,7 +37,7 @@ PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) {
37
37
  float angle = atan(position.y, position.x);
38
38
  vec3 east = normalize(vec3(-position.y, position.x, 0.0));
39
39
 
40
- vec3 point = vec3(radius, height, angle);
40
+ vec3 point = vec3(radius, angle, height);
41
41
  mat3 jacobianT = mat3(radial, z, east / length(position.xy));
42
42
  return PointJacobianT(point, jacobianT);
43
43
  }
@@ -48,12 +48,7 @@ vec3 convertShapeToShapeUvSpace(in vec3 positionShape) {
48
48
  radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y;
49
49
  #endif
50
50
 
51
- float height = positionShape.y;
52
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)
53
- height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y;
54
- #endif
55
-
56
- float angle = (positionShape.z + czm_pi) / czm_twoPi;
51
+ float angle = (positionShape.y + czm_pi) / czm_twoPi;
57
52
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE)
58
53
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED)
59
54
  // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative.
@@ -70,7 +65,12 @@ vec3 convertShapeToShapeUvSpace(in vec3 positionShape) {
70
65
  angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y;
71
66
  #endif
72
67
 
73
- return vec3(radius, height, angle);
68
+ float height = positionShape.z;
69
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)
70
+ height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y;
71
+ #endif
72
+
73
+ return vec3(radius, angle, height);
74
74
  }
75
75
 
76
76
  PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) {
@@ -85,15 +85,15 @@ vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) {
85
85
  radius /= u_cylinderUvToShapeUvRadius.x;
86
86
  #endif
87
87
 
88
- float height = shapeUv.y;
89
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)
90
- height /= u_cylinderUvToShapeUvHeight.x;
91
- #endif
92
-
93
- float angle = shapeUv.z * czm_twoPi;
88
+ float angle = shapeUv.y * czm_twoPi;
94
89
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE)
95
90
  angle /= u_cylinderUvToShapeUvAngle.x;
96
91
  #endif
97
92
 
98
- return vec3(radius, height, angle);
93
+ float height = shapeUv.z;
94
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)
95
+ height /= u_cylinderUvToShapeUvHeight.x;
96
+ #endif
97
+
98
+ return vec3(radius, angle, height);
99
99
  }
@@ -38,7 +38,7 @@ PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) {\n\
38
38
  float angle = atan(position.y, position.x);\n\
39
39
  vec3 east = normalize(vec3(-position.y, position.x, 0.0));\n\
40
40
  \n\
41
- vec3 point = vec3(radius, height, angle);\n\
41
+ vec3 point = vec3(radius, angle, height);\n\
42
42
  mat3 jacobianT = mat3(radial, z, east / length(position.xy));\n\
43
43
  return PointJacobianT(point, jacobianT);\n\
44
44
  }\n\
@@ -49,12 +49,7 @@ vec3 convertShapeToShapeUvSpace(in vec3 positionShape) {\n\
49
49
  radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y;\n\
50
50
  #endif\n\
51
51
  \n\
52
- float height = positionShape.y;\n\
53
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)\n\
54
- height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y;\n\
55
- #endif\n\
56
- \n\
57
- float angle = (positionShape.z + czm_pi) / czm_twoPi;\n\
52
+ float angle = (positionShape.y + czm_pi) / czm_twoPi;\n\
58
53
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE)\n\
59
54
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED)\n\
60
55
  // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative.\n\
@@ -71,7 +66,12 @@ vec3 convertShapeToShapeUvSpace(in vec3 positionShape) {\n\
71
66
  angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y;\n\
72
67
  #endif\n\
73
68
  \n\
74
- return vec3(radius, height, angle);\n\
69
+ float height = positionShape.z;\n\
70
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)\n\
71
+ height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y;\n\
72
+ #endif\n\
73
+ \n\
74
+ return vec3(radius, angle, height);\n\
75
75
  }\n\
76
76
  \n\
77
77
  PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) {\n\
@@ -86,16 +86,16 @@ vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) {\n\
86
86
  radius /= u_cylinderUvToShapeUvRadius.x;\n\
87
87
  #endif\n\
88
88
  \n\
89
- float height = shapeUv.y;\n\
90
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)\n\
91
- height /= u_cylinderUvToShapeUvHeight.x;\n\
92
- #endif\n\
93
- \n\
94
- float angle = shapeUv.z * czm_twoPi;\n\
89
+ float angle = shapeUv.y * czm_twoPi;\n\
95
90
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE)\n\
96
91
  angle /= u_cylinderUvToShapeUvAngle.x;\n\
97
92
  #endif\n\
98
93
  \n\
99
- return vec3(radius, height, angle);\n\
94
+ float height = shapeUv.z;\n\
95
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)\n\
96
+ height /= u_cylinderUvToShapeUvHeight.x;\n\
97
+ #endif\n\
98
+ \n\
99
+ return vec3(radius, angle, height);\n\
100
100
  }\n\
101
101
  ";
@@ -2,7 +2,7 @@ import BoundingSphere from "../Core/BoundingSphere.js";
2
2
  import Cartesian3 from "../Core/Cartesian3.js";
3
3
  import Cartographic from "../Core/Cartographic.js";
4
4
  import Clock from "../Core/Clock.js";
5
- import defaultValue from "../Core/defaultValue.js";
5
+ import Frozen from "../Core/Frozen.js";
6
6
  import defined from "../Core/defined.js";
7
7
  import destroyObject from "../Core/destroyObject.js";
8
8
  import DeveloperError from "../Core/DeveloperError.js";
@@ -212,7 +212,7 @@ function CesiumWidget(container, options) {
212
212
 
213
213
  container = getElement(container);
214
214
 
215
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
215
+ options = options ?? Frozen.EMPTY_OBJECT;
216
216
 
217
217
  //Configure the widget DOM elements
218
218
  const element = document.createElement("div");
@@ -248,10 +248,8 @@ function CesiumWidget(container, options) {
248
248
  }
249
249
  }
250
250
 
251
- const blurActiveElementOnCanvasFocus = defaultValue(
252
- options.blurActiveElementOnCanvasFocus,
253
- true,
254
- );
251
+ const blurActiveElementOnCanvasFocus =
252
+ options.blurActiveElementOnCanvasFocus ?? true;
255
253
 
256
254
  if (blurActiveElementOnCanvasFocus) {
257
255
  canvas.addEventListener("mousedown", blurActiveElement);
@@ -272,12 +270,10 @@ function CesiumWidget(container, options) {
272
270
  ? getElement(options.creditViewport)
273
271
  : element;
274
272
 
275
- const showRenderLoopErrors = defaultValue(options.showRenderLoopErrors, true);
273
+ const showRenderLoopErrors = options.showRenderLoopErrors ?? true;
276
274
 
277
- const useBrowserRecommendedResolution = defaultValue(
278
- options.useBrowserRecommendedResolution,
279
- true,
280
- );
275
+ const useBrowserRecommendedResolution =
276
+ options.useBrowserRecommendedResolution ?? true;
281
277
 
282
278
  this._element = element;
283
279
  this._container = container;
@@ -314,7 +310,7 @@ function CesiumWidget(container, options) {
314
310
  configureCanvasSize(this);
315
311
 
316
312
  try {
317
- const ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.default);
313
+ const ellipsoid = options.ellipsoid ?? Ellipsoid.default;
318
314
 
319
315
  const scene = new Scene({
320
316
  canvas: canvas,
@@ -324,7 +320,7 @@ function CesiumWidget(container, options) {
324
320
  ellipsoid: ellipsoid,
325
321
  mapProjection: options.mapProjection,
326
322
  orderIndependentTranslucency: options.orderIndependentTranslucency,
327
- scene3DOnly: defaultValue(options.scene3DOnly, false),
323
+ scene3DOnly: options.scene3DOnly ?? false,
328
324
  shadows: options.shadows,
329
325
  mapMode2D: options.mapMode2D,
330
326
  requestRenderMode: options.requestRenderMode,
@@ -345,10 +341,7 @@ function CesiumWidget(container, options) {
345
341
  }
346
342
  if (globe !== false) {
347
343
  scene.globe = globe;
348
- scene.globe.shadows = defaultValue(
349
- options.terrainShadows,
350
- ShadowMode.RECEIVE_ONLY,
351
- );
344
+ scene.globe.shadows = options.terrainShadows ?? ShadowMode.RECEIVE_ONLY;
352
345
  }
353
346
 
354
347
  let skyBox = options.skyBox;
@@ -395,7 +388,7 @@ function CesiumWidget(container, options) {
395
388
  "Specify either options.terrainProvider or options.terrain.",
396
389
  );
397
390
  }
398
- //>>includeEnd('debug')
391
+ //>>includeEnd('debug');
399
392
 
400
393
  scene.setTerrain(options.terrain);
401
394
  }
@@ -412,10 +405,7 @@ function CesiumWidget(container, options) {
412
405
  }
413
406
 
414
407
  this._useDefaultRenderLoop = undefined;
415
- this.useDefaultRenderLoop = defaultValue(
416
- options.useDefaultRenderLoop,
417
- true,
418
- );
408
+ this.useDefaultRenderLoop = options.useDefaultRenderLoop ?? true;
419
409
 
420
410
  this._targetFrameRate = undefined;
421
411
  this.targetFrameRate = options.targetFrameRate;
@@ -1134,6 +1124,8 @@ CesiumWidget.prototype._updateCanAnimate = function (isUpdated) {
1134
1124
  this._clock.canAnimate = isUpdated;
1135
1125
  };
1136
1126
 
1127
+ const boundingSphereScratch = new BoundingSphere();
1128
+
1137
1129
  /**
1138
1130
  * @private
1139
1131
  */
@@ -1146,15 +1138,15 @@ CesiumWidget.prototype._onTick = function (clock) {
1146
1138
  }
1147
1139
 
1148
1140
  const entityView = this._entityView;
1149
- if (defined(entityView) && defined(entityView.boundingSphere)) {
1141
+ if (defined(entityView)) {
1150
1142
  const trackedEntity = this._trackedEntity;
1151
1143
  const trackedState = this._dataSourceDisplay.getBoundingSphere(
1152
1144
  trackedEntity,
1153
1145
  false,
1154
- entityView.boundingSphere,
1146
+ entityView.boundingSphere ?? boundingSphereScratch,
1155
1147
  );
1156
1148
  if (trackedState === BoundingSphereState.DONE) {
1157
- entityView.update(time, entityView.boundingSphere);
1149
+ entityView.update(time);
1158
1150
  }
1159
1151
  }
1160
1152
  };
@@ -1,5 +1,4 @@
1
1
  import DeveloperError from "../Core/DeveloperError.js";
2
- import defaultValue from "../Core/defaultValue.js";
3
2
  import defined from "../Core/defined.js";
4
3
  import PrimitivePipeline from "../Scene/PrimitivePipeline.js";
5
4
  import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
@@ -8,7 +7,7 @@ import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
8
7
  const moduleCache = {};
9
8
 
10
9
  async function getModule(moduleName, modulePath) {
11
- let module = defaultValue(moduleCache[modulePath], moduleCache[moduleName]);
10
+ let module = moduleCache[modulePath] ?? moduleCache[moduleName];
12
11
 
13
12
  if (defined(module)) {
14
13
  return module;
@@ -3,7 +3,6 @@ import BoundingSphere from "../Core/BoundingSphere.js";
3
3
  import Cartesian2 from "../Core/Cartesian2.js";
4
4
  import Cartesian3 from "../Core/Cartesian3.js";
5
5
  import Cartographic from "../Core/Cartographic.js";
6
- import defaultValue from "../Core/defaultValue.js";
7
6
  import defined from "../Core/defined.js";
8
7
  import Ellipsoid from "../Core/Ellipsoid.js";
9
8
  import EllipsoidalOccluder from "../Core/EllipsoidalOccluder.js";
@@ -24,7 +23,7 @@ const sizeOfFloat = Float32Array.BYTES_PER_ELEMENT;
24
23
  const sizeOfDouble = Float64Array.BYTES_PER_ELEMENT;
25
24
 
26
25
  function indexOfEpsilon(arr, elem, elemType) {
27
- elemType = defaultValue(elemType, CesiumMath);
26
+ elemType = elemType ?? CesiumMath;
28
27
  const count = arr.length;
29
28
  for (let i = 0; i < count; ++i) {
30
29
  if (elemType.equalsEpsilon(arr[i], elem, CesiumMath.EPSILON12)) {
@@ -1,5 +1,4 @@
1
1
  import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
2
- import defaultValue from "../Core/defaultValue.js";
3
2
  import defined from "../Core/defined.js";
4
3
  import WebMercatorProjection from "../Core/WebMercatorProjection.js";
5
4
  import Ellipsoid from "../Core/Ellipsoid.js";
@@ -274,10 +273,7 @@ function getFeatureHash(symbologyData, outlinesHash, featureIndex) {
274
273
  indices: {},
275
274
  edges: {},
276
275
  });
277
- const featureSymbology = defaultValue(
278
- symbologyData[featureIndex],
279
- symbologyData.default,
280
- );
276
+ const featureSymbology = symbologyData[featureIndex] ?? symbologyData.default;
281
277
  newFeatureHash.hasOutline = defined(featureSymbology?.edges);
282
278
  return newFeatureHash;
283
279
  }
@@ -1,4 +1,3 @@
1
- import defaultValue from "../Core/defaultValue.js";
2
1
  import defined from "../Core/defined.js";
3
2
  import Check from "../Core/Check.js";
4
3
  import PixelFormat from "../Core/PixelFormat.js";
@@ -285,7 +284,7 @@ function transcodeCompressed(
285
284
  async function initWorker(parameters, transferableObjects) {
286
285
  // Require and compile WebAssembly module, or use fallback if not supported
287
286
  const wasmConfig = parameters.webAssemblyConfig;
288
- const basisTranscoder = defaultValue(basis, self.BASIS);
287
+ const basisTranscoder = basis ?? self.BASIS;
289
288
  if (defined(wasmConfig.wasmBinaryFile)) {
290
289
  transcoderModule = await basisTranscoder(wasmConfig);
291
290
  } else {