CesiumJS is one of the core engines for 3D earth and 3D map development on the web. It is widely used in photorealistic 3D, oblique photography, BIM, and other scenarios, and serves as the "standard client" for the 3D Tiles ecosystem. On June 1, 2026, the Cesium team released CesiumJS 1.142, focusing on large-scale data rendering performance, the integration of vector tiles with 3D Tiles, and improvements to the low-level BufferPrimitive rendering capabilities. Here is an introduction based on the official Releases.

Major Updates (Pay Attention to Compatibility)

The boundingVolume for BufferPointCollection, BufferPolylineCollection, and BufferPolygonCollection is now defined in the world coordinate system instead of the local coordinate system. If you rely on this property for culling, camera flights, or custom bounding volume calculations, it is recommended to test this part of your logic first after upgrading.

Feature Updates

  1. GeoJsonPrimitive improves large-scale GeoJSON performance: Added GeoJsonPrimitive to load GeoJSON directly into BufferPrimitiveCollections, bypassing the entity and DataSource layers. This is suitable for high-performance rendering of large-scale roads, pipelines, plots, and other data.
  2. MVTDataProvider bridges Mapbox vector tiles and 3D Tiles: Added MVTDataProvider to load Mapbox vector tiles directly as 3D Tiles.
  3. BufferPrimitive gains more transparency and blending control: Added blendOption to BufferPointCollection, BufferPolylineCollection, and BufferPolygonCollection, and support for alpha in material colors and point collection outlineColor. This provides more flexibility for semi-transparent feature overlays and highlighting.
  4. Experimental support for new glTF and 3D Tiles extensions: Added experimental support for the EXT_mesh_polygon draft extension and the 3DTILES_content_gltf_vector draft extension.
  5. Improved CAD-style edge display control: Added EdgeDisplayMode and edgeDisplayMode to Model and Cesium3DTileset to control the rendering of surfaces and edges. Supports three modes: surface only, surface with edges, and edges only, suitable for wireframe representation of CAD-like models.
  6. BufferPrimitive bounding volumes support precomputation to reduce frequent updates: Added boundingVolume constructor parameters for BufferPointCollection, BufferPolylineCollection, and BufferPolygonCollection. For large collections that frequently update geometry or animation, providing a bounding volume in advance can reduce performance overhead from automatic engine updates.
  7. ScreenSpaceEventHandler supports multiple modifier keys: setInputAction now supports combinations of multiple keyboard modifiers, making complex interaction operations more convenient.

Bug Fixes

  1. Fixed point update not taking effect in BufferPointCollection: Fixed an issue where rendered results would not refresh when point collection positions changed. Visualization of dynamic point data is now more reliable.
  2. Improved default voxel shader support for common metadata types: The default voxel shader has been optimized for common metadata types, reducing display anomalies or poor effects.

Summary

CesiumJS 1.142 renders GeoJSON and vector tiles with higher performance while continuing to strengthen compatibility with 3D Tiles and glTF extensions. For the GIS industry, these capabilities directly affect the limits of large-scale feature loading, 3D scene representation, and interactive picking, while also making the transition from 2D to 3D smoother.

If you have a better 3D WebGIS engine or tips for optimizing CesiumJS performance, feel free to leave a comment and share your thoughts.