Releases: lanxinger/MetalSplatter
Releases · lanxinger/MetalSplatter
2.0.0
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
SplatEditorworkflow on top ofSplatRenderer. - Added GPU-assisted selection via
SplatSelectionEngineand theEditorSelection.metalcompute 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
glTFandGLBread/write support. - Added
SOGS v2(.sog) export support, including WebP-backed archive writing. - Improved
SPZ,SPX,PLY, and SOGS compatibility and decoder robustness. - Updated
SplatConverterto supportgltf,glb, andsogoutputs.
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.mdnow points package installation, clone instructions, and issue links atlanxinger/MetalSplatter.SplatConverter --versionnow reports2.0.0.- The SampleApp marketing version is now
2.0.0.