1.97

CesiumGS/cesium1.97Sep 1, 2022by ggetz

AI Summary

A major architectural update for loading glTF models and tilesets enables new extensions like 3D Tiles Next metadata and CustomShader, alongside various performance and bundling improvements.

Key Highlights

  • Switched to a new architecture for loading glTF models and tilesets.
  • Added support for 3D Tiles Next metadata extensions: EXT_structural_metadata, EXT_mesh_features, and EXT_instance_features.
  • Added support for `EXT_mesh_gpu_instancing` and `EXT_meshopt_compression`.
  • Added support for User-defined GLSL shaders via `CustomShader`.
  • Added `sideEffects` field to `package.json` to enable tree shaking.

New Features

  • CustomShader support
  • 3D Tiles Next metadata extensions
  • EXT_mesh_gpu_instancing support
  • EXT_meshopt_compression support

Full Release Notes

1.97 - 2022-09-01

Highlights include:

- CesiumJS has switched to a new architecture for loading glTF models and tilesets to enable:
  - User-defined GLSL shaders via [`CustomShader`](Documentation/CustomShaderGuide/README.md)
  - Support for [3D Tiles Next](https://cesium.com/blog/2021/11/10/introducing-3d-tiles-next/) metadata extensions: [`EXT_structural_metadata`](https://github.com/CesiumGS/glTF/tree/proposal-EXT_structural_metadata/extensions/2.0/Vendor/EXT_structural_metadata), [`EXT_mesh_features`](https://github.com/CesiumGS/glTF/tree/proposal-EXT_mesh_features/extensions/2.0/Vendor/EXT_mesh_features) and [`EXT_instance_features`](https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_instance_features)
  - Support for [`EXT_mesh_gpu_instancing`](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing)
  - Support for [`EXT_meshopt_compression`](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/EXT_meshopt_compression)
  - Texture caching across different tiles
  - Numerous bug fixes
- `Model` can now classify other assets with a given `classificationType`. [#10623](https://github.com/CesiumGS/cesium/pull/10623)
- `Model` now supports back face culling for point clouds. [#10703](https://github.com/CesiumGS/cesium/pull/10703)
- Model entities now support `CustomShader`. [#10747](https://github.com/CesiumGS/cesium/pull/10747)
- Export asset files such as CSS in `package.json`, allowing bundlers to import without additional configuration. [#9212](https://github.com/CesiumGS/cesium/pull/9212)
- The `sideEffects` field in `package.json` is now specified, allowing more conservative bundlers like Webpack to enable tree shaking by default. [#10714](https://github.com/CesiumGS/cesium/pull/10714)

See the [changelog](https://github.com/CesiumGS/cesium/blob/1.97/CHANGES.md) for the complete list of changes.