Skip to content

v0.23.0: WebGPURenderer Spatial UI, UIExitButton Component, Documentation Overhaul

Choose a tag to compare

@dli7319 dli7319 released this 15 Oct 18:02
· 413 commits to main since this release
Immutable release. Only release title and notes can be modified.
7c29e0e

XR Blocks v0.23.0 Release Notes

We are excited to announce XR Blocks 0.23.0, introducing full WebGPURenderer support for the Spatial UI panel system and volumetric clouds, WebXR on-device compatibility for WebGPU, simulator-to-device color alignment, a standardized UIExitButton component, and restructured documentation.

Highlights

  • Spatial UI on WebGPURenderer: The Spatial UI panel system now runs on THREE.WebGPURenderer via TSL (three/tsl) node materials, supporting linear and radial gradients, deterministic transparent sorting, and optimized shader compilation. Try it in your browser or headset with the live WebGPU Spatial UI sample.
  • TSL Volumetric Clouds on WebGPU: VolumetricCloud now supports THREE.WebGPURenderer using a dynamically loaded TSL raymarching module.
  • WebXR WebGPU Compatibility: Seamless WebXR session initiation on WebGPU with automated adapter selection and feature negotiation on supported devices.
  • Simulator & Device Color Alignment: UI panel colors in the desktop simulator now accurately align with on-device appearance through corrected sRGB parsing and output color space transformations.
  • Standardized UIExitButton: A new xb.UIExitButton component provides a consistent, frosted exit button for UI panels and samples with automated session termination.
  • Documentation Overhaul: Reorganized getting started into dedicated Online and Local development pathways, alongside dedicated Project Setup and WebGPU guides.

What's Changed

  • fix(ci): trigger npm publish on release published, not created by @dli7319 in #680
  • build(deps): bump shell-quote from 1.9.0 to 1.12.0 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #679
  • fix(world): support WebGPURenderer in world sensors and XRTransition by @dli7319 in #681
  • feat(simulator): support WebGPURenderer in day/night lighting by @dli7319 in #682
  • feat(core): synthesize screenshots on WebGPURenderer by @dli7319 in #683
  • feat(volumes): support WebGPURenderer in VolumetricCloud by @dli7319 in #684
  • chore(deps): resolve tinypool and postcss-selector-parser Dependabot alerts by @dli7319 in #691
  • fix(docs): strip prose from three sample pages so they render full-bleed with no TOC by @dli7319 in #692
  • fix(core): enable xr on WebGPURenderer before init and request webgpu feature by @dli7319 in #694
  • fix(ui): parse rgb()/rgba() in sRGB and include colorspace_fragment in panel shaders by @dli7319 in #695
  • feat(ui): support WebGPURenderer in the UI panel system by @dli7319 in #693
  • docs(manual): add WebGPU support page by @dli7319 in #698
  • fix(ui): use shapePath.toShapes() instead of deprecated SVGLoader.createShapes() by @dli7319 in #697
  • docs: separate project setup and restructure getting started into online/local by @dli7319 in #700
  • feat(ui,samples): add UIExitButton component and standardize across 20 samples by @dli7319 in #699
  • fix(ui): remove accidental static @pmndrs/uikit import from PanelMaterialFactory by @dli7319 in #701
  • Bump to 0.23.0 by @dli7319 in #702

Full Changelog: v0.22.0...v0.23.0