Skip to content

Releases: lanxinger/MetalSplatter

2.0.0

18 Apr 15:35

Choose a tag to compare

MetalSplatter 2.0.0

This release marks the first published release from the lanxinger/MetalSplatter fork and represents a substantial step beyond upstream/main.

Highlights Compared To Upstream

Interactive gaussian splat editing

  • Added a new SplatEditor workflow on top of SplatRenderer.
  • Added GPU-assisted selection via SplatSelectionEngine and the EditorSelection.metal compute path.
  • Added selection queries and editing state for point, rect, mask, sphere, and box operations.
  • Added preview-transform editing with commit/cancel for move, rotate, and scale.
  • Added hide, unhide, lock, unlock, delete, duplicate, separate, undo, redo, and export workflows.
  • Added selection tinting plus a dedicated outline pass for clearer editing feedback.

iOS and iPadOS editing demo

  • Expanded the sample app into an iPhone/iPad editor demo instead of a viewer-only sample.
  • Added toolbar-driven tools for point, rect, brush, lasso, flood, eyedropper/color-match, sphere, box, polygon, and measure.
  • Added direct-touch transform editing, selection utility controls, and export from the sample app.

Expanded format support

  • Added native gaussian splat glTF and GLB read/write support.
  • Added SOGS v2 (.sog) export support, including WebP-backed archive writing.
  • Improved SPZ, SPX, PLY, and SOGS compatibility and decoder robustness.
  • Updated SplatConverter to support gltf, glb, and sog outputs.

Rendering and performance upgrades

  • Added proper 2DGS rendering with oriented ellipses and normal extraction.
  • Added Brush/MIP covariance blur support and improved render-mode propagation.
  • Added Fast SH support, half-precision SH evaluation, and Fast SH integration paths.
  • Added packed-color splat storage and multiple renderer-side memory/layout optimizations.
  • Added Morton ordering, counting sort, camera-relative binning, frustum culling, dithered transparency, interaction-mode tuning, and multiple async/GPU sorting improvements.
  • Added broader Metal 4 work including bindless, SIMD-group, tensor, radix-sort, and mesh-shader paths.

Robustness and developer-facing improvements

  • Tightened Swift 6 concurrency safety and thread-safety across the codebase.
  • Added broader validation, buffer safety, and error handling across renderer and I/O code.
  • Added targeted tests for editor behavior, buffer pools, counting-sort bounds, render-mode behavior, and I/O round-trips.
  • Refreshed README and SampleApp documentation to match the fork’s current capabilities.

Included release metadata changes

  • README.md now points package installation, clone instructions, and issue links at lanxinger/MetalSplatter.
  • SplatConverter --version now reports 2.0.0.
  • The SampleApp marketing version is now 2.0.0.