This site uses both engines: Cesium for the satellite flight on the home page, MapLibre for /earth, the trace intro and peak maps.
#Measured on this site's production build
| Cesium (flight) | MapLibre | |
|---|---|---|
| JS chunk | 3.98 MB (1.06 MB gzip) | 1.10 MB (0.30 MB gzip) |
| CSP exceptions | wasm-unsafe-eval, and no Viewer (why) |
worker from blob: or a self-hosted worker URL |
| Globe | true 3D ellipsoid, 3D Tiles | globe projection, vector tiles |
| Terrain | quantized mesh, 3D Tiles | raster DEM (terrarium / mapbox encoding) |
#When I pick which
- Cesium: photoreal 3D Tiles, true camera flights from space to street, anything with time-dynamic data.
- MapLibre: vector styling, building extrusions, picking features, terrain with a GPS track. It is light enough to load on a page that is mostly text.
#Rule of thumb
Load the heavy engine only on the page that needs it, with a dynamic import(), and keep a non-WebGL fallback that still says where the thing is.