v2.30.0

playcanvas/supersplatv2.30.0Jul 14, 2026by slimbuck

AI Summary

Significant feature addition including intersection modifiers, image rendering formats, and LCC2 import support.

Key Highlights

  • Intersection modifier (shift+ctrl) for selection
  • New Edit menu
  • Image rendering (PNG/JPEG) and LCC2 import
  • Persistent user preferences

New Features

  • Add intersect modifier (shift+ctrl) to splat selection
  • Show the active selection operation at the cursor
  • Add locale consistency check to CI
  • Unify render output filenames and add save dialog for image render
  • Add an Edit menu to the menubar
  • Add numeric position entry for sphere/box selection volumes
  • Persist user preferences in localStorage
  • Rename View Options panel to Settings
  • Add PNG and JPEG image render formats
  • Add LCC2 import and a format-agnostic LOD selection dialog

Full Release Notes

## What's Changed
* feat: add intersect modifier (shift+ctrl) to splat selection by @mvanhorn in https://github.com/playcanvas/supersplat/pull/903
* Show the active selection operation at the cursor by @slimbuck in https://github.com/playcanvas/supersplat/pull/957
* Add locale consistency check to CI by @willeastcott in https://github.com/playcanvas/supersplat/pull/958
* Unify render output filenames and add save dialog for image render by @willeastcott in https://github.com/playcanvas/supersplat/pull/959
* Add an Edit menu to the menubar by @willeastcott in https://github.com/playcanvas/supersplat/pull/960
* Fix uninitialized op names and localize scene panel tooltips by @willeastcott in https://github.com/playcanvas/supersplat/pull/961
* Add numeric position entry for sphere/box selection volumes by @willeastcott in https://github.com/playcanvas/supersplat/pull/962
* Persist user preferences in localStorage by @willeastcott in https://github.com/playcanvas/supersplat/pull/963
* Rename View Options panel to Settings by @willeastcott in https://github.com/playcanvas/supersplat/pull/964
* Add PNG and JPEG image render formats by @willeastcott in https://github.com/playcanvas/supersplat/pull/965
* Hold TypeScript below 6.1 until typescript-eslint supports newer by @slimbuck in https://github.com/playcanvas/supersplat/pull/968
* Update all npm dependencies (major) by @renovate[bot] in https://github.com/playcanvas/supersplat/pull/967
* Update all npm dependencies by @renovate[bot] in https://github.com/playcanvas/supersplat/pull/966
* Add LCC2 import and a format-agnostic LOD selection dialog by @slimbuck in https://github.com/playcanvas/supersplat/pull/969
* Show keyframes stranded beyond the end of the timeline by @willeastcott in https://github.com/playcanvas/supersplat/pull/971
* Update actions/setup-node action to v7 by @renovate[bot] in https://github.com/playcanvas/supersplat/pull/972


**Full Changelog**: https://github.com/playcanvas/supersplat/compare/v2.29.0...v2.30.0