Skip to content

Release 0.21.0: Gaussian tooling, shadow improvements, and runtime fixes - #1256

Merged
untoldengine merged 2 commits into
developfrom
release/0.21.0
Sep 27, 2026
Merged

untoldengine merged 2 commits into
developfrom
release/0.21.0

Conversation

@untoldengine

@untoldengine untoldengine commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Release 0.21.0 improves Gaussian splat spatial processing and diagnostics, resolves several animation and rendering issues, restores correct release-build optimization and StarterDemo input, and refreshes the project documentation around Untold Engine's interactive XR direction and engineering principles.

Gaussian splats

  • Partition Gaussian chunks using a uniform grid before Morton slicing, producing tighter spatial bounds and improving chunk-level culling in scenes with uneven splat density.
  • Add runtime visualization of per-chunk Gaussian bounds, colored by culling result or active LOD level.

Rendering and shadows

  • Fix cascaded shadow-map culling that could drop valid off-screen or distant shadow casters.
  • Cross-fade between shadow cascades to avoid visible transitions at cascade boundaries.
  • Apply consistent world-space shadow bias and filter sizing across cascades.
  • Improve rendering-extension diagnostics by reporting why shader libraries and pipelines fail to load.
  • Surface the underlying PipelineCreationError in engine pipeline logs.

Animation

  • Cache compiled animation clips by identity so distinct clips with the same embedded name cannot collide.
  • Remove stale compiled-cache entries when animation clips are replaced.
  • Present one display name for aliased clips while retaining lookup compatibility through either name.
  • Remove all aliases together when an animation clip is removed.

Build system and demos

  • Ensure generated Release configurations always compile with Swift optimization enabled.
  • Restore keyboard input in StarterDemo.

Documentation

  • Add Engineering Principles and connect them to the contribution guidelines and PR template.
  • Align the README and documentation homepage around the project's Vision, Mission, and Engineering Principles.
  • Refine Untold Engine's interactive XR positioning and consolidate its audience documentation.
  • Add CoolWeb showcase material.

Checklist

  • Relevant tests have been added or updated
  • Existing functionality and API compatibility have been considered
  • Relevant builds and tests pass locally
  • Recoverable failures are handled appropriately
  • Significant architectural changes and trade-offs are explained below
  • Documentation has been updated where necessary
  • Performance-sensitive changes have been measured, if applicable

Architectural notes / trade-offs

Gaussian chunks are now divided at uniform-grid cell boundaries before Morton slicing. This can create additional partially filled chunks, trading a small amount of chunk metadata and slot overhead for tighter bounds and more effective spatial culling in unevenly distributed scenes. Paging calculations now account for those shorter chunk tails.

Cascaded shadows now determine caster relevance from each cascade's fitted world-space bounds instead of camera-depth splits. Neighboring cascades overlap and cross-fade near their boundaries, preventing valid casters from being discarded and reducing visible cascade transitions.

@untoldengine
untoldengine merged commit 14413aa into develop Sep 27, 2026
4 checks passed
@untoldengine
untoldengine deleted the release/0.21.0 branch September 27, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant