v2.21.1

playcanvas/enginev2.21.1Jul 24, 2026by mvaligursky

AI Summary

A maintenance release fixing several rendering and asset loading issues, particularly around WebGPU, shadows, and text rendering.

Key Highlights

  • Fix WebGPU normal mapping (derivative TBN)
  • Fix shadow cascade masking in batches
  • Fix MSDF coverage ramp at small sizes

Full Release Notes

## Fixes

- Add shadowCascadeMask in batch by @AlexAPPi in [#9104](https://github.com/playcanvas/engine/pull/9104)
- Fix inverted normal mapping on WebGPU (derivative TBN) by @mvaligursky in [#9099](https://github.com/playcanvas/engine/pull/9099)
- Fix MSDF coverage ramp exceeding field range at small sizes by @willeastcott in [#9100](https://github.com/playcanvas/engine/pull/9100)
- Fix reported WebGPU sampled texture limit by @mvaligursky in [#9103](https://github.com/playcanvas/engine/pull/9103)
- Mark texture-formats test example as hidden by @mvaligursky in [#9095](https://github.com/playcanvas/engine/pull/9095)

**Full Changelog**: https://github.com/playcanvas/engine/compare/v2.21.0...v2.21.1