@cesium/engine 26.0.0 → 26.2.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 (471) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +586 -480
  2. package/Build/Workers/{chunk-7J2HKPRH.js → chunk-27FWRTJI.js} +9 -9
  3. package/Build/Workers/{chunk-EF2QYXGA.js → chunk-2EFYUSUY.js} +14 -14
  4. package/Build/Workers/chunk-2H5264K7.js +1284 -0
  5. package/Build/Workers/{chunk-DOBXCNC3.js → chunk-2H73KDBM.js} +13 -13
  6. package/Build/Workers/chunk-2RGJPWQX.js +1284 -0
  7. package/Build/Workers/chunk-2Z4ZLVOD.js +352 -0
  8. package/Build/Workers/{chunk-F6QDY6HU.js → chunk-2ZKH2QZB.js} +13 -13
  9. package/Build/Workers/chunk-36NI5E6W.js +3820 -0
  10. package/Build/Workers/{chunk-ZK3CF7ZD.js → chunk-37SW7SYS.js} +12 -12
  11. package/Build/Workers/chunk-3GHVJ3SO.js +455 -0
  12. package/Build/Workers/chunk-3LB4UVPU.js +387 -0
  13. package/Build/Workers/chunk-3PONLKEL.js +778 -0
  14. package/Build/Workers/{chunk-Y57HREW5.js → chunk-3PSS3T43.js} +4 -4
  15. package/Build/Workers/chunk-3QR662HH.js +3820 -0
  16. package/Build/Workers/{chunk-QN67VG36.js → chunk-3SX2WYSO.js} +6 -6
  17. package/Build/Workers/{chunk-G7PXZRVF.js → chunk-3UDN6LYX.js} +7 -7
  18. package/Build/Workers/chunk-47MCBSXI.js +9237 -0
  19. package/Build/Workers/{chunk-KKOSKAZB.js → chunk-4E626OCE.js} +17 -17
  20. package/Build/Workers/chunk-4NW2MJKH.js +455 -0
  21. package/Build/Workers/{chunk-DBOEKL43.js → chunk-52YK5BSN.js} +7 -7
  22. package/Build/Workers/{chunk-KFSTQKNM.js → chunk-5LSOO2KD.js} +7 -7
  23. package/Build/Workers/chunk-5RNAQZK6.js +9234 -0
  24. package/Build/Workers/chunk-5YPQBFRD.js +519 -0
  25. package/Build/Workers/{chunk-S4MCOY6I.js → chunk-6FHT43QR.js} +5 -5
  26. package/Build/Workers/chunk-6FZDPMTO.js +455 -0
  27. package/Build/Workers/{chunk-VQYETPWC.js → chunk-6HK6IXK2.js} +4 -4
  28. package/Build/Workers/chunk-6R5X2GUA.js +1284 -0
  29. package/Build/Workers/{chunk-AYKR4VBR.js → chunk-6YR6JBMY.js} +2 -2
  30. package/Build/Workers/chunk-76FDC45O.js +511 -0
  31. package/Build/Workers/chunk-7A2OGDHT.js +305 -0
  32. package/Build/Workers/chunk-7CGEQUM2.js +305 -0
  33. package/Build/Workers/{chunk-54I6Y66F.js → chunk-7D2HZKH7.js} +6 -6
  34. package/Build/Workers/{chunk-3VFEWOBI.js → chunk-7I325HV6.js} +7 -7
  35. package/Build/Workers/{chunk-4MGMYHOO.js → chunk-7KVKHY7O.js} +6 -6
  36. package/Build/Workers/chunk-7MM3N2VE.js +1067 -0
  37. package/Build/Workers/chunk-7TKLTCZW.js +219 -0
  38. package/Build/Workers/chunk-7UUKBDH6.js +1054 -0
  39. package/Build/Workers/chunk-7W6DUHAB.js +693 -0
  40. package/Build/Workers/{chunk-DDWSZVMY.js → chunk-7XM5JK5F.js} +5 -5
  41. package/Build/Workers/chunk-7YG3ND3P.js +454 -0
  42. package/Build/Workers/{chunk-IRBKFCEJ.js → chunk-A3O6EDBK.js} +2 -2
  43. package/Build/Workers/chunk-A62YI6S6.js +305 -0
  44. package/Build/Workers/{chunk-V7VQKN6N.js → chunk-A6X24AZI.js} +5 -5
  45. package/Build/Workers/chunk-A7TTWVTF.js +2719 -0
  46. package/Build/Workers/chunk-ACTVJHSP.js +519 -0
  47. package/Build/Workers/chunk-ADX3CBKD.js +9234 -0
  48. package/Build/Workers/{chunk-52JDLOEM.js → chunk-AF7DTMJ7.js} +14 -14
  49. package/Build/Workers/{chunk-ZP7JMQV4.js → chunk-AHWAZRBV.js} +6 -2
  50. package/Build/Workers/chunk-AJSFRY4U.js +1344 -0
  51. package/Build/Workers/{chunk-EBSIOBXY.js → chunk-ARZICEEP.js} +8 -8
  52. package/Build/Workers/chunk-B3QHNA4A.js +147 -0
  53. package/Build/Workers/{chunk-YLY7NKAB.js → chunk-B4CQSLZJ.js} +4 -4
  54. package/Build/Workers/chunk-BKPQFCXH.js +511 -0
  55. package/Build/Workers/{chunk-O3EA5HS7.js → chunk-BSPCI2LO.js} +10 -10
  56. package/Build/Workers/chunk-BUJWSX5S.js +301 -0
  57. package/Build/Workers/{chunk-J6BWOHUF.js → chunk-C7JQVRLM.js} +3 -3
  58. package/Build/Workers/chunk-C7QDUNI3.js +138 -0
  59. package/Build/Workers/{chunk-KSSWJIZW.js → chunk-CDJDJ5LK.js} +2 -2
  60. package/Build/Workers/chunk-CEEZE3YZ.js +476 -0
  61. package/Build/Workers/chunk-CIV5DJOQ.js +778 -0
  62. package/Build/Workers/{chunk-INUEEEQA.js → chunk-CLCTQVVL.js} +8 -8
  63. package/Build/Workers/{chunk-C6J67V5A.js → chunk-CQNFIAZU.js} +1 -1
  64. package/Build/Workers/chunk-CRCGE4J4.js +9237 -0
  65. package/Build/Workers/{chunk-SMQZZOW6.js → chunk-CUTRKXUQ.js} +10 -10
  66. package/Build/Workers/{chunk-Q3PY526V.js → chunk-D6AY775A.js} +6 -6
  67. package/Build/Workers/chunk-DBD5WWG2.js +959 -0
  68. package/Build/Workers/{chunk-E7VQ76KE.js → chunk-DIGUUD6G.js} +6 -6
  69. package/Build/Workers/{chunk-P3CK7MCY.js → chunk-DSGLDRTI.js} +4 -4
  70. package/Build/Workers/chunk-DZBQUULR.js +138 -0
  71. package/Build/Workers/chunk-DZUFEE4L.js +140 -0
  72. package/Build/Workers/chunk-E2NKV5YT.js +3820 -0
  73. package/Build/Workers/{chunk-424RNO3D.js → chunk-E7NZJOK7.js} +196 -22
  74. package/Build/Workers/{chunk-UOOIQ3KX.js → chunk-EB3Y5P3A.js} +12 -12
  75. package/Build/Workers/{chunk-ACXQXN46.js → chunk-EHTS2YPT.js} +16 -16
  76. package/Build/Workers/{chunk-EPYXRCDB.js → chunk-ELE6SC2C.js} +12 -12
  77. package/Build/Workers/{chunk-VWV2IJRB.js → chunk-ENNFMWDW.js} +11 -11
  78. package/Build/Workers/chunk-EOWDZN5S.js +288 -0
  79. package/Build/Workers/chunk-ERKUET22.js +3201 -0
  80. package/Build/Workers/chunk-EZGQPOIG.js +162 -0
  81. package/Build/Workers/chunk-F2IMBMZY.js +241 -0
  82. package/Build/Workers/chunk-F4CSNRZO.js +219 -0
  83. package/Build/Workers/chunk-FBP4DUQJ.js +693 -0
  84. package/Build/Workers/{chunk-FRQZECAO.js → chunk-FCP2QY4G.js} +5 -5
  85. package/Build/Workers/{chunk-ZZ46LWL6.js → chunk-FDK4K5IA.js} +1 -1
  86. package/Build/Workers/{chunk-C6KNZ7T4.js → chunk-FGQFQHN5.js} +17 -17
  87. package/Build/Workers/chunk-FJWZMGOQ.js +1992 -0
  88. package/Build/Workers/{chunk-Y5BF6AFU.js → chunk-FQ42MT7M.js} +2 -2
  89. package/Build/Workers/chunk-FU4BGABC.js +398 -0
  90. package/Build/Workers/chunk-FX3VEAIU.js +2719 -0
  91. package/Build/Workers/chunk-GGNWQWSB.js +301 -0
  92. package/Build/Workers/chunk-GHXVQVUM.js +1344 -0
  93. package/Build/Workers/{chunk-CZEYZU4N.js → chunk-GNKXEN4C.js} +10 -10
  94. package/Build/Workers/{chunk-MYP774IS.js → chunk-GSWMAFTE.js} +8 -8
  95. package/Build/Workers/chunk-GVA7XQI2.js +368 -0
  96. package/Build/Workers/chunk-GXDHRC4J.js +1344 -0
  97. package/Build/Workers/chunk-GXWQZBAI.js +58 -0
  98. package/Build/Workers/chunk-GYSYP6PC.js +1067 -0
  99. package/Build/Workers/chunk-H2WCFXLP.js +241 -0
  100. package/Build/Workers/chunk-HDL4HOXZ.js +778 -0
  101. package/Build/Workers/chunk-HHV3MCGV.js +162 -0
  102. package/Build/Workers/chunk-HLW2ZRVK.js +368 -0
  103. package/Build/Workers/chunk-HS6AD4P2.js +398 -0
  104. package/Build/Workers/chunk-HT6FASOT.js +973 -0
  105. package/Build/Workers/chunk-I74ZH5LK.js +959 -0
  106. package/Build/Workers/{chunk-7WM2PX4V.js → chunk-IDVHUDZT.js} +5 -5
  107. package/Build/Workers/chunk-IGAZBTFZ.js +3201 -0
  108. package/Build/Workers/chunk-IJZJMIUY.js +789 -0
  109. package/Build/Workers/chunk-ILME5BXA.js +301 -0
  110. package/Build/Workers/chunk-IMBVP57H.js +44 -0
  111. package/Build/Workers/chunk-IOO7Z2AV.js +57 -0
  112. package/Build/Workers/chunk-IUIFLOYO.js +44 -0
  113. package/Build/Workers/chunk-J73T2VOY.js +171 -0
  114. package/Build/Workers/chunk-JALGQYDY.js +288 -0
  115. package/Build/Workers/chunk-JKXV6PG5.js +56 -0
  116. package/Build/Workers/chunk-JW6OZT4R.js +288 -0
  117. package/Build/Workers/{chunk-CXOYE2WM.js → chunk-JXYLJCTC.js} +5 -5
  118. package/Build/Workers/{chunk-CFQP6LYM.js → chunk-K27QOAW6.js} +4 -4
  119. package/Build/Workers/chunk-KGXSYGBG.js +387 -0
  120. package/Build/Workers/chunk-KMV25A63.js +789 -0
  121. package/Build/Workers/chunk-KP5QD7WU.js +693 -0
  122. package/Build/Workers/chunk-KZWFWJML.js +2719 -0
  123. package/Build/Workers/chunk-LCXRRALY.js +387 -0
  124. package/Build/Workers/chunk-LD64RPYV.js +368 -0
  125. package/Build/Workers/{chunk-U3ZA64U7.js → chunk-LDRQSYBN.js} +2 -2
  126. package/Build/Workers/chunk-LGNDTZVX.js +97 -0
  127. package/Build/Workers/chunk-LNSQVXFH.js +1800 -0
  128. package/Build/Workers/chunk-M4JZ6TSZ.js +959 -0
  129. package/Build/Workers/chunk-M6QKXVAU.js +1054 -0
  130. package/Build/Workers/chunk-MAAHFYPC.js +198 -0
  131. package/Build/Workers/chunk-MCJDRDJQ.js +102 -0
  132. package/Build/Workers/chunk-MEENMEAH.js +198 -0
  133. package/Build/Workers/{chunk-TKKIREQ6.js → chunk-N7CCOFLX.js} +1 -1
  134. package/Build/Workers/chunk-NAWU5RF4.js +162 -0
  135. package/Build/Workers/{chunk-M3B5JKSM.js → chunk-NCL22ZUX.js} +1 -1
  136. package/Build/Workers/chunk-NEFDMMLY.js +241 -0
  137. package/Build/Workers/{chunk-UA25D5MX.js → chunk-NIWITKQK.js} +10 -10
  138. package/Build/Workers/chunk-NJVBJG63.js +124 -0
  139. package/Build/Workers/chunk-NLLCQBX3.js +73 -0
  140. package/Build/Workers/chunk-NSKZ6SBK.js +1483 -0
  141. package/Build/Workers/chunk-NXGQBQWE.js +837 -0
  142. package/Build/Workers/chunk-O3DKEX7Q.js +352 -0
  143. package/Build/Workers/chunk-O3XFXGPZ.js +476 -0
  144. package/Build/Workers/chunk-OA6MYL2C.js +837 -0
  145. package/Build/Workers/chunk-OBEU25PI.js +1067 -0
  146. package/Build/Workers/chunk-OHP4ELS7.js +198 -0
  147. package/Build/Workers/chunk-OZGPS7FB.js +138 -0
  148. package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
  149. package/Build/Workers/chunk-PD4GK4EM.js +57 -0
  150. package/Build/Workers/chunk-PEDU33QG.js +2342 -0
  151. package/Build/Workers/chunk-PRWUMCXF.js +682 -0
  152. package/Build/Workers/chunk-PVTSNNVI.js +288 -0
  153. package/Build/Workers/chunk-QFSSCLLZ.js +973 -0
  154. package/Build/Workers/chunk-QHPZH22L.js +241 -0
  155. package/Build/Workers/chunk-QIZDWZK6.js +301 -0
  156. package/Build/Workers/chunk-QV6DG2YX.js +1483 -0
  157. package/Build/Workers/chunk-QVLAFFJY.js +56 -0
  158. package/Build/Workers/{chunk-6YEE6JDR.js → chunk-R4FPNAZ2.js} +6 -6
  159. package/Build/Workers/chunk-R4K7EHOU.js +171 -0
  160. package/Build/Workers/chunk-R7JGHDD6.js +789 -0
  161. package/Build/Workers/chunk-RASQEYD4.js +1483 -0
  162. package/Build/Workers/chunk-RG4F5R57.js +454 -0
  163. package/Build/Workers/chunk-RW6ITX7Q.js +3820 -0
  164. package/Build/Workers/chunk-RYSQVJR6.js +398 -0
  165. package/Build/Workers/chunk-S6RJU5NM.js +1054 -0
  166. package/Build/Workers/chunk-SA2A2AN5.js +2342 -0
  167. package/Build/Workers/chunk-SDFHDNS4.js +147 -0
  168. package/Build/Workers/chunk-SF6K72D7.js +124 -0
  169. package/Build/Workers/chunk-SGRGNDOD.js +682 -0
  170. package/Build/Workers/{chunk-QRWGUWI6.js → chunk-SJYSIOEM.js} +11 -11
  171. package/Build/Workers/chunk-SM2CDCYF.js +198 -0
  172. package/Build/Workers/chunk-SMTGMFBL.js +97 -0
  173. package/Build/Workers/chunk-SS5ABQGY.js +102 -0
  174. package/Build/Workers/{chunk-IYOUHCZB.js → chunk-SXSP3JHS.js} +1 -1
  175. package/Build/Workers/chunk-T5QBPLE3.js +414 -0
  176. package/Build/Workers/chunk-TN35HP5B.js +1067 -0
  177. package/Build/Workers/chunk-TNWKJNUZ.js +454 -0
  178. package/Build/Workers/chunk-TOAF47AQ.js +102 -0
  179. package/Build/Workers/chunk-TQ4QCOXT.js +2719 -0
  180. package/Build/Workers/chunk-TSDSILQB.js +124 -0
  181. package/Build/Workers/chunk-TVZD72WJ.js +778 -0
  182. package/Build/Workers/chunk-U5LV3F3Z.js +1054 -0
  183. package/Build/Workers/chunk-UAZUP4I5.js +1992 -0
  184. package/Build/Workers/chunk-UEY73NRN.js +38 -0
  185. package/Build/Workers/chunk-UF46SZEZ.js +789 -0
  186. package/Build/Workers/chunk-UNRTMCET.js +398 -0
  187. package/Build/Workers/chunk-UTB7U3O6.js +1992 -0
  188. package/Build/Workers/chunk-UVO6COT2.js +352 -0
  189. package/Build/Workers/chunk-V46YGZE6.js +352 -0
  190. package/Build/Workers/chunk-VAL7DYNR.js +278 -0
  191. package/Build/Workers/chunk-VDGOCROW.js +57 -0
  192. package/Build/Workers/chunk-VFWSSBPT.js +511 -0
  193. package/Build/Workers/chunk-VVYMXI3I.js +1284 -0
  194. package/Build/Workers/chunk-VXWHPYQM.js +837 -0
  195. package/Build/Workers/chunk-VXYUBRSB.js +219 -0
  196. package/Build/Workers/chunk-VZLDLEWI.js +387 -0
  197. package/Build/Workers/{chunk-4S7IE3LB.js → chunk-W5OCKMPJ.js} +2 -2
  198. package/Build/Workers/chunk-WBSY7HDY.js +837 -0
  199. package/Build/Workers/chunk-WN3F4CVG.js +3201 -0
  200. package/Build/Workers/chunk-WPRUWXGV.js +693 -0
  201. package/Build/Workers/chunk-WTO2ERBP.js +414 -0
  202. package/Build/Workers/chunk-WVHMDVG4.js +959 -0
  203. package/Build/Workers/chunk-XCBZVTIV.js +280 -0
  204. package/Build/Workers/chunk-XDWCTQCZ.js +101 -0
  205. package/Build/Workers/chunk-XGA23TAX.js +73 -0
  206. package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
  207. package/Build/Workers/chunk-XLXSDIP5.js +973 -0
  208. package/Build/Workers/chunk-XQ3SKCMM.js +140 -0
  209. package/Build/Workers/chunk-XQH66YJC.js +147 -0
  210. package/Build/Workers/chunk-XTA7BXJG.js +682 -0
  211. package/Build/Workers/chunk-XTIDAFRS.js +476 -0
  212. package/Build/Workers/chunk-XUEDWBUD.js +682 -0
  213. package/Build/Workers/chunk-XYFLRH3H.js +124 -0
  214. package/Build/Workers/chunk-Y7JRTRTO.js +305 -0
  215. package/Build/Workers/chunk-Y7QSMDCJ.js +352 -0
  216. package/Build/Workers/chunk-YCB5TYTR.js +1483 -0
  217. package/Build/Workers/chunk-YEYOSTJX.js +219 -0
  218. package/Build/Workers/chunk-YGFVAGYF.js +630 -0
  219. package/Build/Workers/chunk-YIIACKQO.js +368 -0
  220. package/Build/Workers/chunk-YJGSP6PE.js +511 -0
  221. package/Build/Workers/{chunk-XZMBNNDX.js → chunk-YKU2Q3A2.js} +9 -9
  222. package/Build/Workers/chunk-Z4LR5EHE.js +454 -0
  223. package/Build/Workers/chunk-Z66EVE2A.js +44 -0
  224. package/Build/Workers/chunk-ZHIHHHTB.js +414 -0
  225. package/Build/Workers/chunk-ZMBHFYOX.js +1344 -0
  226. package/Build/Workers/chunk-ZNWHFSLE.js +171 -0
  227. package/Build/Workers/chunk-ZQLZG4IN.js +2342 -0
  228. package/Build/Workers/chunk-ZRTSMUZ2.js +414 -0
  229. package/Build/Workers/{chunk-MPZHGZU6.js → chunk-ZSGUV73H.js} +4 -4
  230. package/Build/Workers/chunk-ZZUVT5BM.js +476 -0
  231. package/Build/Workers/combineGeometry.js +24 -24
  232. package/Build/Workers/createBoxGeometry.js +18 -18
  233. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  234. package/Build/Workers/createCircleGeometry.js +26 -26
  235. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  236. package/Build/Workers/createCoplanarPolygonGeometry.js +35 -35
  237. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  238. package/Build/Workers/createCorridorGeometry.js +31 -33
  239. package/Build/Workers/createCorridorOutlineGeometry.js +29 -31
  240. package/Build/Workers/createCylinderGeometry.js +20 -20
  241. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  242. package/Build/Workers/createEllipseGeometry.js +26 -26
  243. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  244. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  245. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  246. package/Build/Workers/createFrustumGeometry.js +18 -18
  247. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  248. package/Build/Workers/createGeometry.js +24 -24
  249. package/Build/Workers/createGroundPolylineGeometry.js +24 -24
  250. package/Build/Workers/createPlaneGeometry.js +16 -16
  251. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  252. package/Build/Workers/createPolygonGeometry.js +34 -34
  253. package/Build/Workers/createPolygonOutlineGeometry.js +31 -31
  254. package/Build/Workers/createPolylineGeometry.js +26 -26
  255. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  256. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  257. package/Build/Workers/createRectangleGeometry.js +27 -27
  258. package/Build/Workers/createRectangleOutlineGeometry.js +21 -21
  259. package/Build/Workers/createSimplePolylineGeometry.js +24 -24
  260. package/Build/Workers/createSphereGeometry.js +19 -19
  261. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  262. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  263. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  264. package/Build/Workers/createVectorTileGeometries.js +24 -24
  265. package/Build/Workers/createVectorTilePoints.js +13 -13
  266. package/Build/Workers/createVectorTilePolygons.js +22 -22
  267. package/Build/Workers/createVectorTilePolylines.js +14 -14
  268. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  269. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  270. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  271. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  272. package/Build/Workers/createWallGeometry.js +24 -24
  273. package/Build/Workers/createWallOutlineGeometry.js +24 -24
  274. package/Build/Workers/decodeDraco.js +10 -10
  275. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +987 -2320
  276. package/Build/Workers/decodeI3S.js +10 -10
  277. package/Build/Workers/gaussianSplatSorter.js +4 -4
  278. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  279. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  280. package/Build/Workers/transcodeKTX2.js +6 -6
  281. package/Build/Workers/transferTypedArrayTest.js +1 -1
  282. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  283. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  284. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
  285. package/Source/Core/BoundingRectangle.js +6 -8
  286. package/Source/Core/BoundingSphere.js +0 -3
  287. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
  288. package/Source/Core/Color.js +1 -0
  289. package/Source/Core/CoplanarPolygonGeometry.js +2 -2
  290. package/Source/Core/CorridorGeometry.js +2 -4
  291. package/Source/Core/CorridorOutlineGeometry.js +1 -3
  292. package/Source/Core/EarthOrientationParameters.js +2 -2
  293. package/Source/Core/EllipseGeometryLibrary.js +2 -2
  294. package/Source/Core/EllipsoidGeodesic.js +3 -3
  295. package/Source/Core/EllipsoidRhumbLine.js +1 -1
  296. package/Source/Core/GroundPolylineGeometry.js +2 -2
  297. package/Source/Core/Heap.js +1 -1
  298. package/Source/Core/HermitePolynomialApproximation.js +215 -179
  299. package/Source/Core/InterpolationAlgorithm.js +58 -50
  300. package/Source/Core/Ion.js +1 -1
  301. package/Source/Core/JulianDate.js +1 -1
  302. package/Source/Core/LagrangePolynomialApproximation.js +55 -52
  303. package/Source/Core/LinearApproximation.js +69 -66
  304. package/Source/Core/Math.js +59 -0
  305. package/Source/Core/Matrix2.js +2 -2
  306. package/Source/Core/Matrix3.js +2 -2
  307. package/Source/Core/OrthographicFrustum.js +1 -1
  308. package/Source/Core/PerspectiveFrustum.js +1 -1
  309. package/Source/Core/PolygonGeometry.js +2 -2
  310. package/Source/Core/PolygonGeometryLibrary.js +1 -1
  311. package/Source/Core/PolygonOutlineGeometry.js +1 -1
  312. package/Source/Core/PolylineGeometry.js +1 -1
  313. package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
  314. package/Source/Core/Rectangle.js +7 -1
  315. package/Source/Core/RectangleOutlineGeometry.js +1 -1
  316. package/Source/Core/SimplePolylineGeometry.js +1 -1
  317. package/Source/Core/TerrainEncoding.js +2 -2
  318. package/Source/Core/TerrainMesh.js +3 -3
  319. package/Source/Core/TerrainPicker.js +180 -168
  320. package/Source/Core/TimeIntervalCollection.js +1 -3
  321. package/Source/Core/Tipsify.js +1 -1
  322. package/Source/Core/Transforms.js +5 -1
  323. package/Source/Core/VectorPipeline.js +1117 -0
  324. package/Source/Core/VectorProvider.js +429 -0
  325. package/Source/Core/WallOutlineGeometry.js +1 -1
  326. package/Source/Core/getTimestamp.js +4 -2
  327. package/Source/Core/writeTextToCanvas.js +1 -0
  328. package/Source/DataSources/CompositeEntityCollection.js +0 -1
  329. package/Source/DataSources/CzmlDataSource.js +14 -0
  330. package/Source/DataSources/DataSourceDisplay.js +1 -1
  331. package/Source/DataSources/GeoJsonDataSource.js +0 -1
  332. package/Source/DataSources/GeometryVisualizer.js +1 -1
  333. package/Source/DataSources/KmlDataSource.js +529 -557
  334. package/Source/DataSources/PathGraphics.js +8 -1
  335. package/Source/DataSources/PathMode.js +27 -0
  336. package/Source/DataSources/PathVisualizer.js +298 -1
  337. package/Source/DataSources/PolylineVisualizer.js +1 -1
  338. package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
  339. package/Source/Renderer/AutomaticUniforms.js +23 -0
  340. package/Source/Renderer/Context.js +9 -3
  341. package/Source/Renderer/DrawCommand.js +22 -0
  342. package/Source/Renderer/Framebuffer.js +4 -0
  343. package/Source/Renderer/Pass.js +11 -10
  344. package/Source/Renderer/Texture.js +12 -1
  345. package/Source/Renderer/UniformState.js +7 -0
  346. package/Source/Renderer/VertexArray.js +1 -1
  347. package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
  348. package/Source/Scene/ArcGisMapService.js +1 -1
  349. package/Source/Scene/Billboard.js +2 -1
  350. package/Source/Scene/BillboardCollection.js +7 -3
  351. package/Source/Scene/BillboardTexture.js +5 -3
  352. package/Source/Scene/BufferPrimitiveCollection.js +27 -5
  353. package/Source/Scene/Camera.js +71 -5
  354. package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
  355. package/Source/Scene/Cesium3DTileset.js +1 -1
  356. package/Source/Scene/ClippingPlaneCollection.js +4 -4
  357. package/Source/Scene/ClippingPolygon.js +2 -0
  358. package/Source/Scene/ClippingPolygonCollection.js +2 -2
  359. package/Source/Scene/Controllers/Controller.js +63 -0
  360. package/Source/Scene/Controllers/ControllerHost.js +78 -0
  361. package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
  362. package/Source/Scene/Controllers/MouseButton.js +32 -0
  363. package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
  364. package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
  365. package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
  366. package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
  367. package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
  368. package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
  369. package/Source/Scene/DerivedCommand.js +98 -0
  370. package/Source/Scene/EdgeFramebuffer.js +1 -5
  371. package/Source/Scene/Expression.js +6 -8
  372. package/Source/Scene/FrameState.js +17 -0
  373. package/Source/Scene/Globe.js +20 -0
  374. package/Source/Scene/GlobeDepth.js +27 -1
  375. package/Source/Scene/GlobeSurfaceShaderSet.js +511 -409
  376. package/Source/Scene/GlobeSurfaceTile.js +575 -398
  377. package/Source/Scene/GlobeSurfaceTileProvider.js +1382 -1151
  378. package/Source/Scene/GltfBufferViewLoader.js +3 -3
  379. package/Source/Scene/GltfLoader.js +33 -3
  380. package/Source/Scene/GltfLoaderUtil.js +20 -4
  381. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
  382. package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
  383. package/Source/Scene/GltfSpzLoader.js +1 -1
  384. package/Source/Scene/GltfVertexBufferLoader.js +6 -3
  385. package/Source/Scene/I3SDataProvider.js +1 -1
  386. package/Source/Scene/I3SLayer.js +1 -1
  387. package/Source/Scene/I3SNode.js +2 -2
  388. package/Source/Scene/ImageryLayer.js +2 -2
  389. package/Source/Scene/ImageryLayerCollection.js +190 -6
  390. package/Source/Scene/IonImageryProvider.js +1 -5
  391. package/Source/Scene/Label.js +4 -4
  392. package/Source/Scene/LabelCollection.js +1 -1
  393. package/Source/Scene/MVTDataProvider.js +2 -0
  394. package/Source/Scene/Material.js +1 -0
  395. package/Source/Scene/Model/B3dmLoader.js +1 -2
  396. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +10 -8
  397. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
  398. package/Source/Scene/Model/I3dmLoader.js +1 -1
  399. package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
  400. package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
  401. package/Source/Scene/Model/Model.js +11 -10
  402. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
  403. package/Source/Scene/Model/ModelDrawCommand.js +160 -16
  404. package/Source/Scene/Model/ModelDrawCommands.js +4 -0
  405. package/Source/Scene/Model/ModelSceneGraph.js +21 -0
  406. package/Source/Scene/Model/ModelUtility.js +1 -0
  407. package/Source/Scene/Model/PickingPipelineStage.js +29 -0
  408. package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
  409. package/Source/Scene/ModelComponents.js +71 -0
  410. package/Source/Scene/Picking.js +19 -3
  411. package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
  412. package/Source/Scene/PntsParser.js +1 -1
  413. package/Source/Scene/PolylineCollection.js +1 -1
  414. package/Source/Scene/PostProcessStage.js +4 -2
  415. package/Source/Scene/QuadtreePrimitive.js +3 -2
  416. package/Source/Scene/ResourceCache.js +7 -4
  417. package/Source/Scene/ResourceCacheKey.js +21 -18
  418. package/Source/Scene/Scene.js +203 -5
  419. package/Source/Scene/ScreenSpaceCameraController.js +1 -2
  420. package/Source/Scene/ShadowMap.js +9 -3
  421. package/Source/Scene/ShadowMapShader.js +50 -2
  422. package/Source/Scene/SnapFramebuffer.js +121 -0
  423. package/Source/Scene/Snapping.js +184 -0
  424. package/Source/Scene/TerrainFillMesh.js +3 -2
  425. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +1 -1
  426. package/Source/Scene/Vector3DTileContent.js +2 -3
  427. package/Source/Scene/VectorGltf3DTileContent.js +23 -3
  428. package/Source/Scene/View.js +10 -8
  429. package/Source/Scene/VoxelTraversal.js +1 -1
  430. package/Source/Scene/createElevationBandMaterial.js +1 -1
  431. package/Source/Scene/findMeshoptExtension.js +23 -0
  432. package/Source/Scene/renderBufferPointCollection.js +14 -10
  433. package/Source/Scene/renderBufferPolygonCollection.js +10 -15
  434. package/Source/Scene/renderBufferPolylineCollection.js +121 -194
  435. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
  436. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
  437. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
  438. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
  439. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
  440. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
  441. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
  442. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
  443. package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
  444. package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
  445. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
  446. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
  447. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
  448. package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
  449. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
  450. package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
  451. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
  452. package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
  453. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  454. package/Source/Shaders/GlobeFS.glsl +10 -5
  455. package/Source/Shaders/GlobeFS.js +9 -5
  456. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
  457. package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
  458. package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
  459. package/Source/Shaders/Model/MaterialStageFS.js +8 -2
  460. package/Source/Shaders/Model/ModelFS.glsl +105 -0
  461. package/Source/Shaders/Model/ModelFS.js +105 -0
  462. package/Source/Shaders/VectorCommon.glsl +178 -0
  463. package/Source/Shaders/VectorCommon.js +75 -0
  464. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  465. package/Source/ThirdParty/zip-module.wasm +0 -0
  466. package/Source/Widget/CesiumWidget.js +30 -0
  467. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  468. package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
  469. package/index.d.ts +825 -260
  470. package/index.js +29 -10
  471. package/package.json +4 -4
@@ -84,9 +84,9 @@ const pickColor = new Color();
84
84
  const cartesian = new Cartesian3();
85
85
  const prevCartesian = new Cartesian3();
86
86
  const nextCartesian = new Cartesian3();
87
- const cartesianEnc = new EncodedCartesian3();
88
- const prevCartesianEnc = new EncodedCartesian3();
89
- const nextCartesianEnc = new EncodedCartesian3();
87
+ const encodedC = new EncodedCartesian3();
88
+ const encodedP = new EncodedCartesian3();
89
+ const encodedN = new EncodedCartesian3();
90
90
 
91
91
  /**
92
92
  * Renders line segments as quads, each composed of two triangles. Writes each
@@ -167,13 +167,28 @@ function renderBufferPolylineCollection(collection, frameState, renderContext) {
167
167
 
168
168
  if (collection._dirtyCount > 0) {
169
169
  const { _dirtyOffset, _dirtyCount } = collection;
170
- const { attributeArrays } = renderContext;
171
170
 
172
171
  const indexArray = renderContext.indexArray;
173
- const pickColorArray = attributeArrays.pickColor;
174
- const showColorWidthAndTexCoordArray =
175
- attributeArrays.showColorWidthAndTexCoord;
176
- const alphaArray = attributeArrays.alpha;
172
+
173
+ const {
174
+ // Common.
175
+ pickColor: pickColorArray,
176
+ showColorWidthAndTexCoord: showColorWidthAndTexCoordArray,
177
+ alpha: alphaArray,
178
+
179
+ // 8-32 bit.
180
+ position,
181
+ prevPosition,
182
+ nextPosition,
183
+
184
+ // 64 bit.
185
+ positionHigh,
186
+ positionLow,
187
+ prevPositionHigh,
188
+ prevPositionLow,
189
+ nextPositionHigh,
190
+ nextPositionLow,
191
+ } = renderContext.attributeArrays;
177
192
 
178
193
  for (let i = _dirtyOffset, il = _dirtyOffset + _dirtyCount; i < il; i++) {
179
194
  collection.get(i, polyline);
@@ -191,199 +206,112 @@ function renderBufferPolylineCollection(collection, frameState, renderContext) {
191
206
  let vOffset = polyline.vertexOffset * 2; // vertex offset
192
207
  let iOffset = (polyline.vertexOffset - i) * 6; // index offset
193
208
 
194
- const jl = polyline.vertexCount;
195
-
196
- if (!useFloat64) {
197
- const posView = collection._positionView;
198
- const posStart = polyline.vertexOffset * 3;
199
- const posArray = attributeArrays.position;
200
- const prevPosArray = attributeArrays.prevPosition;
201
- const nextPosArray = attributeArrays.nextPosition;
202
-
203
- for (let j = 0; j < jl; j++) {
204
- const isFirstSegment = j === 0;
205
- const isLastSegment = j === jl - 1;
206
-
207
- const cx = posView[posStart + j * 3];
208
- const cy = posView[posStart + j * 3 + 1];
209
- const cz = posView[posStart + j * 3 + 2];
210
-
211
- let px, py, pz, nx, ny, nz;
212
-
213
- if (isFirstSegment) {
214
- nx = posView[posStart + 1 * 3];
215
- ny = posView[posStart + 1 * 3 + 1];
216
- nz = posView[posStart + 1 * 3 + 2];
217
- // Mirror current over next to get synthetic prev.
218
- px = 2 * cx - nx;
219
- py = 2 * cy - ny;
220
- pz = 2 * cz - nz;
221
- } else if (isLastSegment) {
222
- px = posView[posStart + (j - 1) * 3];
223
- py = posView[posStart + (j - 1) * 3 + 1];
224
- pz = posView[posStart + (j - 1) * 3 + 2];
225
- // Mirror current over prev to get synthetic next.
226
- nx = 2 * cx - px;
227
- ny = 2 * cy - py;
228
- nz = 2 * cz - pz;
229
- } else {
230
- px = posView[posStart + (j - 1) * 3];
231
- py = posView[posStart + (j - 1) * 3 + 1];
232
- pz = posView[posStart + (j - 1) * 3 + 2];
233
- nx = posView[posStart + (j + 1) * 3];
234
- ny = posView[posStart + (j + 1) * 3 + 1];
235
- nz = posView[posStart + (j + 1) * 3 + 2];
236
- }
209
+ const posView = collection._positionView;
210
+ const posStart = polyline.vertexOffset * 3;
211
+
212
+ for (let j = 0, jl = polyline.vertexCount; j < jl; j++) {
213
+ const isFirstSegment = j === 0;
214
+ const isLastSegment = j === jl - 1;
215
+
216
+ // c=current, p=previous, n=next
217
+
218
+ const cx = posView[posStart + j * 3];
219
+ const cy = posView[posStart + j * 3 + 1];
220
+ const cz = posView[posStart + j * 3 + 2];
221
+
222
+ let px, py, pz, nx, ny, nz;
223
+
224
+ if (isFirstSegment) {
225
+ nx = posView[posStart + 1 * 3];
226
+ ny = posView[posStart + 1 * 3 + 1];
227
+ nz = posView[posStart + 1 * 3 + 2];
228
+ // Mirror current over next to get synthetic prev.
229
+ px = 2 * cx - nx;
230
+ py = 2 * cy - ny;
231
+ pz = 2 * cz - nz;
232
+ } else if (isLastSegment) {
233
+ px = posView[posStart + (j - 1) * 3];
234
+ py = posView[posStart + (j - 1) * 3 + 1];
235
+ pz = posView[posStart + (j - 1) * 3 + 2];
236
+ // Mirror current over prev to get synthetic next.
237
+ nx = 2 * cx - px;
238
+ ny = 2 * cy - py;
239
+ nz = 2 * cz - pz;
240
+ } else {
241
+ px = posView[posStart + (j - 1) * 3];
242
+ py = posView[posStart + (j - 1) * 3 + 1];
243
+ pz = posView[posStart + (j - 1) * 3 + 2];
244
+ nx = posView[posStart + (j + 1) * 3];
245
+ ny = posView[posStart + (j + 1) * 3 + 1];
246
+ nz = posView[posStart + (j + 1) * 3 + 2];
247
+ }
237
248
 
238
- if (!isLastSegment) {
239
- indexArray[iOffset] = vOffset;
240
- indexArray[iOffset + 1] = vOffset + 1;
241
- indexArray[iOffset + 2] = vOffset + 2;
242
- indexArray[iOffset + 3] = vOffset + 2;
243
- indexArray[iOffset + 4] = vOffset + 1;
244
- indexArray[iOffset + 5] = vOffset + 3;
245
- iOffset += 6;
246
- }
249
+ if (!isLastSegment) {
250
+ indexArray[iOffset] = vOffset;
251
+ indexArray[iOffset + 1] = vOffset + 1;
252
+ indexArray[iOffset + 2] = vOffset + 2;
253
+ indexArray[iOffset + 3] = vOffset + 2;
254
+ indexArray[iOffset + 4] = vOffset + 1;
255
+ indexArray[iOffset + 5] = vOffset + 3;
256
+ iOffset += 6;
257
+ }
247
258
 
248
- // Write each vertex twice for the quad.
249
- for (let k = 0; k < 2; k++) {
250
- posArray[vOffset * 3] = cx;
251
- posArray[vOffset * 3 + 1] = cy;
252
- posArray[vOffset * 3 + 2] = cz;
253
-
254
- prevPosArray[vOffset * 3] = px;
255
- prevPosArray[vOffset * 3 + 1] = py;
256
- prevPosArray[vOffset * 3 + 2] = pz;
257
-
258
- nextPosArray[vOffset * 3] = nx;
259
- nextPosArray[vOffset * 3 + 1] = ny;
260
- nextPosArray[vOffset * 3 + 2] = nz;
261
-
262
- pickColorArray[vOffset * 4] = Color.floatToByte(pickColor.red);
263
- pickColorArray[vOffset * 4 + 1] = Color.floatToByte(
264
- pickColor.green,
265
- );
266
- pickColorArray[vOffset * 4 + 2] = Color.floatToByte(pickColor.blue);
267
- pickColorArray[vOffset * 4 + 3] = Color.floatToByte(
268
- pickColor.alpha,
269
- );
270
-
271
- showColorWidthAndTexCoordArray[vOffset * 4] = show ? 1 : 0;
272
- showColorWidthAndTexCoordArray[vOffset * 4 + 1] = encodedColor;
273
- showColorWidthAndTexCoordArray[vOffset * 4 + 2] = material.width;
274
- showColorWidthAndTexCoordArray[vOffset * 4 + 3] = j / (jl - 1);
275
-
276
- alphaArray[vOffset] = colorAlpha * 255.0;
277
-
278
- vOffset++;
279
- }
259
+ if (useFloat64) {
260
+ Cartesian3.fromElements(cx, cy, cz, cartesian);
261
+ Cartesian3.fromElements(px, py, pz, prevCartesian);
262
+ Cartesian3.fromElements(nx, ny, nz, nextCartesian);
263
+ EncodedCartesian3.fromCartesian(cartesian, encodedC);
264
+ EncodedCartesian3.fromCartesian(prevCartesian, encodedP);
265
+ EncodedCartesian3.fromCartesian(nextCartesian, encodedN);
280
266
  }
281
- } else {
282
- const cartesianArray = polyline.getPositions();
283
-
284
- for (let j = 0; j < jl; j++) {
285
- const isFirstSegment = j === 0;
286
- const isLastSegment = j === jl - 1;
287
-
288
- // For first/last vertices, infer missing vertices by mirroring the segment.
289
- // @ts-expect-error TODO(tsd-jsdoc): See https://github.com/CesiumGS/cesium/pull/13302.
290
- Cartesian3.fromArray(cartesianArray, j * 3, cartesian);
291
- if (isFirstSegment) {
292
- // @ts-expect-error TODO(tsd-jsdoc): See https://github.com/CesiumGS/cesium/pull/13302.
293
- Cartesian3.fromArray(cartesianArray, (j + 1) * 3, nextCartesian);
294
- Cartesian3.subtract(cartesian, nextCartesian, prevCartesian);
295
- Cartesian3.add(cartesian, prevCartesian, prevCartesian);
296
- } else if (isLastSegment) {
297
- // @ts-expect-error TODO(tsd-jsdoc): See https://github.com/CesiumGS/cesium/pull/13302.
298
- Cartesian3.fromArray(cartesianArray, (j - 1) * 3, prevCartesian);
299
- Cartesian3.subtract(cartesian, prevCartesian, nextCartesian);
300
- Cartesian3.add(cartesian, nextCartesian, nextCartesian);
267
+
268
+ // TODO(donmccurdy): Diverging from PolylineCollection.js, which writes
269
+ // internal vertices to buffer 4x, not 2x. Not sure that's needed?
270
+
271
+ // Write each vertex twice for the quad.
272
+ for (let k = 0; k < 2; k++) {
273
+ if (!useFloat64) {
274
+ position[vOffset * 3] = cx;
275
+ position[vOffset * 3 + 1] = cy;
276
+ position[vOffset * 3 + 2] = cz;
277
+
278
+ prevPosition[vOffset * 3] = px;
279
+ prevPosition[vOffset * 3 + 1] = py;
280
+ prevPosition[vOffset * 3 + 2] = pz;
281
+
282
+ nextPosition[vOffset * 3] = nx;
283
+ nextPosition[vOffset * 3 + 1] = ny;
284
+ nextPosition[vOffset * 3 + 2] = nz;
301
285
  } else {
302
- // @ts-expect-error TODO(tsd-jsdoc): See https://github.com/CesiumGS/cesium/pull/13302.
303
- Cartesian3.fromArray(cartesianArray, (j - 1) * 3, prevCartesian);
304
- // @ts-expect-error TODO(tsd-jsdoc): See https://github.com/CesiumGS/cesium/pull/13302.
305
- Cartesian3.fromArray(cartesianArray, (j + 1) * 3, nextCartesian);
286
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
287
+ Cartesian3.pack(encodedC.high, positionHigh, vOffset * 3);
288
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
289
+ Cartesian3.pack(encodedC.low, positionLow, vOffset * 3);
290
+
291
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
292
+ Cartesian3.pack(encodedP.high, prevPositionHigh, vOffset * 3);
293
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
294
+ Cartesian3.pack(encodedP.low, prevPositionLow, vOffset * 3);
295
+
296
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
297
+ Cartesian3.pack(encodedN.high, nextPositionHigh, vOffset * 3);
298
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
299
+ Cartesian3.pack(encodedN.low, nextPositionLow, vOffset * 3);
306
300
  }
307
301
 
308
- // For each segment, draw two triangles.
309
- if (!isLastSegment) {
310
- indexArray[iOffset] = vOffset;
311
- indexArray[iOffset + 1] = vOffset + 1;
312
- indexArray[iOffset + 2] = vOffset + 2;
302
+ pickColorArray[vOffset * 4] = Color.floatToByte(pickColor.red);
303
+ pickColorArray[vOffset * 4 + 1] = Color.floatToByte(pickColor.green);
304
+ pickColorArray[vOffset * 4 + 2] = Color.floatToByte(pickColor.blue);
305
+ pickColorArray[vOffset * 4 + 3] = Color.floatToByte(pickColor.alpha);
313
306
 
314
- indexArray[iOffset + 3] = vOffset + 2;
315
- indexArray[iOffset + 4] = vOffset + 1;
316
- indexArray[iOffset + 5] = vOffset + 3;
307
+ showColorWidthAndTexCoordArray[vOffset * 4] = show ? 1 : 0;
308
+ showColorWidthAndTexCoordArray[vOffset * 4 + 1] = encodedColor;
309
+ showColorWidthAndTexCoordArray[vOffset * 4 + 2] = material.width;
310
+ showColorWidthAndTexCoordArray[vOffset * 4 + 3] = j / (jl - 1);
317
311
 
318
- iOffset += 6;
319
- }
312
+ alphaArray[vOffset] = colorAlpha * 255.0;
320
313
 
321
- EncodedCartesian3.fromCartesian(cartesian, cartesianEnc);
322
- EncodedCartesian3.fromCartesian(prevCartesian, prevCartesianEnc);
323
- EncodedCartesian3.fromCartesian(nextCartesian, nextCartesianEnc);
324
-
325
- // TODO(donmccurdy): Diverging from PolylineCollection.js, which writes
326
- // internal vertices to buffer 4x, not 2x. Not sure that's needed?
327
- for (let k = 0; k < 2; k++) {
328
- // Position.
329
- attributeArrays.positionHigh[vOffset * 3] = cartesianEnc.high.x;
330
- attributeArrays.positionHigh[vOffset * 3 + 1] = cartesianEnc.high.y;
331
- attributeArrays.positionHigh[vOffset * 3 + 2] = cartesianEnc.high.z;
332
-
333
- attributeArrays.positionLow[vOffset * 3] = cartesianEnc.low.x;
334
- attributeArrays.positionLow[vOffset * 3 + 1] = cartesianEnc.low.y;
335
- attributeArrays.positionLow[vOffset * 3 + 2] = cartesianEnc.low.z;
336
-
337
- // Previous position.
338
- attributeArrays.prevPositionHigh[vOffset * 3] =
339
- prevCartesianEnc.high.x;
340
- attributeArrays.prevPositionHigh[vOffset * 3 + 1] =
341
- prevCartesianEnc.high.y;
342
- attributeArrays.prevPositionHigh[vOffset * 3 + 2] =
343
- prevCartesianEnc.high.z;
344
-
345
- attributeArrays.prevPositionLow[vOffset * 3] =
346
- prevCartesianEnc.low.x;
347
- attributeArrays.prevPositionLow[vOffset * 3 + 1] =
348
- prevCartesianEnc.low.y;
349
- attributeArrays.prevPositionLow[vOffset * 3 + 2] =
350
- prevCartesianEnc.low.z;
351
-
352
- // Next position.
353
- attributeArrays.nextPositionHigh[vOffset * 3] =
354
- nextCartesianEnc.high.x;
355
- attributeArrays.nextPositionHigh[vOffset * 3 + 1] =
356
- nextCartesianEnc.high.y;
357
- attributeArrays.nextPositionHigh[vOffset * 3 + 2] =
358
- nextCartesianEnc.high.z;
359
-
360
- attributeArrays.nextPositionLow[vOffset * 3] =
361
- nextCartesianEnc.low.x;
362
- attributeArrays.nextPositionLow[vOffset * 3 + 1] =
363
- nextCartesianEnc.low.y;
364
- attributeArrays.nextPositionLow[vOffset * 3 + 2] =
365
- nextCartesianEnc.low.z;
366
-
367
- // Pick ID.
368
- pickColorArray[vOffset * 4] = Color.floatToByte(pickColor.red);
369
- pickColorArray[vOffset * 4 + 1] = Color.floatToByte(
370
- pickColor.green,
371
- );
372
- pickColorArray[vOffset * 4 + 2] = Color.floatToByte(pickColor.blue);
373
- pickColorArray[vOffset * 4 + 3] = Color.floatToByte(
374
- pickColor.alpha,
375
- );
376
-
377
- // Properties.
378
- showColorWidthAndTexCoordArray[vOffset * 4] = show ? 1 : 0;
379
- showColorWidthAndTexCoordArray[vOffset * 4 + 1] = encodedColor;
380
- showColorWidthAndTexCoordArray[vOffset * 4 + 2] = material.width;
381
- showColorWidthAndTexCoordArray[vOffset * 4 + 3] = j / (jl - 1); // texcoord.s
382
-
383
- alphaArray[vOffset] = colorAlpha * 255.0;
384
-
385
- vOffset++;
386
- }
314
+ vOffset++;
387
315
  }
388
316
  }
389
317
 
@@ -616,8 +544,7 @@ function renderBufferPolylineCollection(collection, frameState, renderContext) {
616
544
 
617
545
  frameState.commandList.push(command);
618
546
 
619
- collection._dirtyCount = 0;
620
- collection._dirtyOffset = 0;
547
+ collection._makeClean();
621
548
 
622
549
  return renderContext;
623
550
  }
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passCesium3DTile = 5.0;
9
+ const float czm_passCesium3DTile = 6.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passCesium3DTile = 5.0;\n\
10
+ const float czm_passCesium3DTile = 6.0;\n\
11
11
  ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passCesium3DTileClassification = 6.0;
9
+ const float czm_passCesium3DTileClassification = 7.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passCesium3DTileClassification = 6.0;\n\
10
+ const float czm_passCesium3DTileClassification = 7.0;\n\
11
11
  ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passCesium3DTileClassificationIgnoreShow = 7.0;
9
+ const float czm_passCesium3DTileClassificationIgnoreShow = 8.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passCesium3DTileClassificationIgnoreShow = 7.0;\n\
10
+ const float czm_passCesium3DTileClassificationIgnoreShow = 8.0;\n\
11
11
  ";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_PLANAR_FILL_ID}
3
+ *
4
+ * @name czm_passCesium3DTilePlanarFillId
5
+ * @glslConstant
6
+ *
7
+ * @see czm_pass
8
+ */
9
+ const float czm_passCesium3DTilePlanarFillId = 5.0;
@@ -0,0 +1,11 @@
1
+ //This file is automatically rebuilt by the Cesium build process.
2
+ export default "/**\n\
3
+ * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_PLANAR_FILL_ID}\n\
4
+ *\n\
5
+ * @name czm_passCesium3DTilePlanarFillId\n\
6
+ * @glslConstant\n\
7
+ *\n\
8
+ * @see czm_pass\n\
9
+ */\n\
10
+ const float czm_passCesium3DTilePlanarFillId = 5.0;\n\
11
+ ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passClassification = 7.0;
9
+ const float czm_passClassification = 8.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passClassification = 7.0;\n\
10
+ const float czm_passClassification = 8.0;\n\
11
11
  ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passGaussianSplats = 11.0;
9
+ const float czm_passGaussianSplats = 12.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passGaussianSplats = 11.0;\n\
10
+ const float czm_passGaussianSplats = 12.0;\n\
11
11
  ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passOpaque = 8.0;
9
+ const float czm_passOpaque = 9.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passOpaque = 8.0;\n\
10
+ const float czm_passOpaque = 9.0;\n\
11
11
  ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passTranslucent = 9.0;
9
+ const float czm_passTranslucent = 10.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passTranslucent = 9.0;\n\
10
+ const float czm_passTranslucent = 10.0;\n\
11
11
  ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passVoxels = 10.0;
9
+ const float czm_passVoxels = 11.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passVoxels = 10.0;\n\
10
+ const float czm_passVoxels = 11.0;\n\
11
11
  ";
@@ -16,6 +16,7 @@ import czm_passCesium3DTileClassification from './Constants/passCesium3DTileClas
16
16
  import czm_passCesium3DTileClassificationIgnoreShow from './Constants/passCesium3DTileClassificationIgnoreShow.js'
17
17
  import czm_passCesium3DTileEdges from './Constants/passCesium3DTileEdges.js'
18
18
  import czm_passCesium3DTileEdgesDirect from './Constants/passCesium3DTileEdgesDirect.js'
19
+ import czm_passCesium3DTilePlanarFillId from './Constants/passCesium3DTilePlanarFillId.js'
19
20
  import czm_passClassification from './Constants/passClassification.js'
20
21
  import czm_passCompute from './Constants/passCompute.js'
21
22
  import czm_passEnvironment from './Constants/passEnvironment.js'
@@ -160,6 +161,7 @@ export default {
160
161
  czm_passCesium3DTileClassificationIgnoreShow : czm_passCesium3DTileClassificationIgnoreShow,
161
162
  czm_passCesium3DTileEdges : czm_passCesium3DTileEdges,
162
163
  czm_passCesium3DTileEdgesDirect : czm_passCesium3DTileEdgesDirect,
164
+ czm_passCesium3DTilePlanarFillId : czm_passCesium3DTilePlanarFillId,
163
165
  czm_passClassification : czm_passClassification,
164
166
  czm_passCompute : czm_passCompute,
165
167
  czm_passEnvironment : czm_passEnvironment,
@@ -88,7 +88,7 @@ uniform float u_minimumBrightness;
88
88
  #endif
89
89
 
90
90
  // Based on colorCorrect
91
- // The colorCorrect flag can only be true when tileProvider.hue/saturation/brightnessShift
91
+ // The colorCorrect flag can only be true when tileProvider.hue/saturation/brightnessShift
92
92
  // are nonzero AND when (applyFog || showGroundAtmosphere) in the tile provider
93
93
  // - The tileProvider.hue/saturation/brightnessShift are just passed through
94
94
  // from the Globe hue/saturation/brightness, like atmosphereBrightnessShift
@@ -116,8 +116,8 @@ uniform vec4 u_translucencyRectangle;
116
116
  #endif
117
117
 
118
118
  // Based on showUndergroundColor
119
- // This is set when GlobeSurfaceTileProvider.isUndergroundVisible
120
- // returns true, AND the tileProvider.undergroundColor had a value with
119
+ // This is set when GlobeSurfaceTileProvider.isUndergroundVisible
120
+ // returns true, AND the tileProvider.undergroundColor had a value with
121
121
  // nonzero alpha, and the tileProvider.undergroundColorAlphaByDistance
122
122
  // was in the right range
123
123
  #ifdef UNDERGROUND_COLOR
@@ -576,11 +576,16 @@ void main()
576
576
  }
577
577
  #endif
578
578
 
579
+ #ifdef HAS_VECTOR_LAYER
580
+ finalColor = vectorPolygonRender(v_textureCoordinates.xy, finalColor);
581
+ finalColor = vectorPolylineRender(v_textureCoordinates.xy, finalColor);
582
+ #endif
583
+
579
584
  #ifdef TRANSLUCENT
580
585
  if (inTranslucencyRectangle())
581
586
  {
582
- vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance;
583
- finalColor.a *= interpolateByDistance(alphaByDistance, v_distance);
587
+ vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance;
588
+ finalColor.a *= interpolateByDistance(alphaByDistance, v_distance);
584
589
  }
585
590
  #endif
586
591
 
@@ -89,7 +89,7 @@ uniform float u_minimumBrightness;\n\
89
89
  #endif\n\
90
90
  \n\
91
91
  // Based on colorCorrect\n\
92
- // The colorCorrect flag can only be true when tileProvider.hue/saturation/brightnessShift \n\
92
+ // The colorCorrect flag can only be true when tileProvider.hue/saturation/brightnessShift\n\
93
93
  // are nonzero AND when (applyFog || showGroundAtmosphere) in the tile provider\n\
94
94
  // - The tileProvider.hue/saturation/brightnessShift are just passed through\n\
95
95
  // from the Globe hue/saturation/brightness, like atmosphereBrightnessShift\n\
@@ -117,8 +117,8 @@ uniform vec4 u_translucencyRectangle;\n\
117
117
  #endif\n\
118
118
  \n\
119
119
  // Based on showUndergroundColor\n\
120
- // This is set when GlobeSurfaceTileProvider.isUndergroundVisible \n\
121
- // returns true, AND the tileProvider.undergroundColor had a value with \n\
120
+ // This is set when GlobeSurfaceTileProvider.isUndergroundVisible\n\
121
+ // returns true, AND the tileProvider.undergroundColor had a value with\n\
122
122
  // nonzero alpha, and the tileProvider.undergroundColorAlphaByDistance\n\
123
123
  // was in the right range\n\
124
124
  #ifdef UNDERGROUND_COLOR\n\
@@ -577,11 +577,15 @@ void main()\n\
577
577
  }\n\
578
578
  #endif\n\
579
579
  \n\
580
+ #ifdef HAS_VECTOR_LAYER\n\
581
+ finalColor = vectorPolylineRender(v_textureCoordinates.xy, finalColor);\n\
582
+ #endif\n\
583
+ \n\
580
584
  #ifdef TRANSLUCENT\n\
581
585
  if (inTranslucencyRectangle())\n\
582
586
  {\n\
583
- vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance;\n\
584
- finalColor.a *= interpolateByDistance(alphaByDistance, v_distance);\n\
587
+ vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance;\n\
588
+ finalColor.a *= interpolateByDistance(alphaByDistance, v_distance);\n\
585
589
  }\n\
586
590
  #endif\n\
587
591
  \n\
@@ -15,7 +15,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput)
15
15
 
16
16
  vec4 fragColor;
17
17
  fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb);
18
- fragColor.a = clamp(0.0, 1.0, glow) * color.a;
18
+ fragColor.a = clamp(glow, 0.0, 1.0) * color.a;
19
19
  fragColor = czm_gammaCorrect(fragColor);
20
20
 
21
21
  material.emission = fragColor.rgb;
@@ -16,7 +16,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput)\n\
16
16
  \n\
17
17
  vec4 fragColor;\n\
18
18
  fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb);\n\
19
- fragColor.a = clamp(0.0, 1.0, glow) * color.a;\n\
19
+ fragColor.a = clamp(glow, 0.0, 1.0) * color.a;\n\
20
20
  fragColor = czm_gammaCorrect(fragColor);\n\
21
21
  \n\
22
22
  material.emission = fragColor.rgb;\n\
@@ -463,8 +463,14 @@ void materialStage(inout czm_modelMaterial material, ProcessedAttributes attribu
463
463
  #endif
464
464
 
465
465
  vec4 baseColorWithAlpha = vec4(1.0);
466
- // Regardless of whether we use PBR, set a base color
467
- #ifdef HAS_BASE_COLOR_TEXTURE
466
+ // Regardless of whether we use PBR, set a base color.
467
+ // HAS_BACKGROUND_FILL (from BENTLEY_materials_planar_fill) overrides with
468
+ // the view's background color to create an invisible masking polygon.
469
+ // The background color is in sRGB, so convert to linear to match the
470
+ // material pipeline's expected color space.
471
+ #ifdef HAS_BACKGROUND_FILL
472
+ baseColorWithAlpha = czm_srgbToLinear(czm_backgroundColor);
473
+ #elif defined(HAS_BASE_COLOR_TEXTURE)
468
474
  baseColorWithAlpha = getBaseColorFromTexture();
469
475
  #elif defined(HAS_BASE_COLOR_FACTOR)
470
476
  baseColorWithAlpha = u_baseColorFactor;