What's Changed
* Make 'gdown' an example group dependency. by kdexd in https://github.com/nerfstudio-project/viser/pull/234
* Basic skinned meshes by brentyi in https://github.com/nerfstudio-project/viser/pull/203
* (Experimental) Recording/playback API by brentyi in https://github.com/nerfstudio-project/viser/pull/240
* (Experimental) Gaussian splatting + WebGL by brentyi in https://github.com/nerfstudio-project/viser/pull/110
* Add progressbar component by jkulhanek in https://github.com/nerfstudio-project/viser/pull/238
* Revisit serialization dependencies, add progress bar for playback (experimental) by brentyi in https://github.com/nerfstudio-project/viser/pull/244
* Add GUI reset helper + fix init race condition by brentyi in https://github.com/nerfstudio-project/viser/pull/241
* Move WebSocket clients to web workers + compress messages by brentyi in https://github.com/nerfstudio-project/viser/pull/245
* Fix broken cleanup, skinned mesh race condition by brentyi in https://github.com/nerfstudio-project/viser/pull/250
* (experimental) Playback control prototype by brentyi in https://github.com/nerfstudio-project/viser/pull/251
* Global sort + SIMD for Gaussian rendering by brentyi in https://github.com/nerfstudio-project/viser/pull/252
* More optimizations for Gaussian rendering by brentyi in https://github.com/nerfstudio-project/viser/pull/257
* Untie splat rendering components from `viser`-specific internals by brentyi in https://github.com/nerfstudio-project/viser/pull/258
* Add `instance_index` to click event for batched axes by brentyi in https://github.com/nerfstudio-project/viser/pull/272
* Notifications by ginazhouhuiwu in https://github.com/nerfstudio-project/viser/pull/225
New Contributors
* kdexd made their first contribution in https://github.com/nerfstudio-project/viser/pull/234
**Full Changelog**: https://github.com/nerfstudio-project/viser/compare/v0.2.3...v0.2.4