@playcanvas/splat-transform 1.8.3 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  SplatTransform is an open source library and CLI tool for converting and editing Gaussian splats. It can:
13
13
 
14
14
  📥 Read PLY, Compressed PLY, SOG, SPLAT, KSPLAT, SPZ, LCC and Voxel formats
15
- 📤 Write PLY, Compressed PLY, SOG, CSV, HTML Viewer, LOD and Voxel formats
15
+ 📤 Write PLY, Compressed PLY, SOG, GLB, CSV, HTML Viewer, LOD and Voxel formats
16
16
  📊 Generate statistical summaries for data analysis
17
17
  🔗 Merge multiple splats
18
18
  🔄 Apply transformations to input splats
@@ -60,6 +60,7 @@ splat-transform [GLOBAL] input [ACTIONS] ... output [ACTIONS]
60
60
  | `.splat` | ✅ | ❌ | Compressed splat format (antimatter15 format) |
61
61
  | `.spz` | ✅ | ❌ | Compressed splat format (Niantic format) |
62
62
  | `.mjs` | ✅ | ❌ | Generate a scene using an mjs script (Beta) |
63
+ | `.glb` | ❌ | ✅ | Binary glTF with [KHR_gaussian_splatting](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_gaussian_splatting) extension |
63
64
  | `.csv` | ❌ | ✅ | Comma-separated values spreadsheet |
64
65
  | `.html` | ❌ | ✅ | HTML viewer app (single-page or unbundled) based on SOG |
65
66
  | `.voxel.json` | ✅ | ✅ | Sparse voxel octree for collision detection |
@@ -78,7 +79,7 @@ Actions can be repeated and applied in any order:
78
79
  -S, --filter-sphere <x,y,z,radius> Remove Gaussians outside sphere (center, radius)
79
80
  -V, --filter-value <name,cmp,value> Keep splats where <name> <cmp> <value>
80
81
  cmp ∈ {lt,lte,gt,gte,eq,neq}
81
- -F, --filter-visibility <n|n%> Keep the n most visible splats (by opacity * volume)
82
+ -F, --decimate <n|n%> Simplify to n splats via progressive pairwise merging
82
83
  Use n% to keep a percentage of splats
83
84
  -p, --params <key=val,...> Pass parameters to .mjs generator script
84
85
  -l, --lod <n> Specify the level of detail of this model, n >= 0.
@@ -176,10 +177,10 @@ splat-transform input.ply -V opacity,gt,0.5 output.ply
176
177
  # Strip spherical harmonic bands higher than 2
177
178
  splat-transform input.ply --filter-harmonics 2 output.ply
178
179
 
179
- # Keep only the 50000 most visible splats
180
- splat-transform input.ply --filter-visibility 50000 output.ply
180
+ # Simplify to 50000 splats via progressive pairwise merging
181
+ splat-transform input.ply --decimate 50000 output.ply
181
182
 
182
- # Keep the top 25% most visible splats
183
+ # Simplify to 25% of original splat count
183
184
  splat-transform input.ply -F 25% output.ply
184
185
  ```
185
186
 
@@ -399,7 +400,7 @@ type ProcessAction =
399
400
  | { kind: 'filterBands'; value: 0|1|2|3 }
400
401
  | { kind: 'filterBox'; min: Vec3; max: Vec3 }
401
402
  | { kind: 'filterSphere'; center: Vec3; radius: number }
402
- | { kind: 'filterVisibility'; count: number | null; percent: number | null }
403
+ | { kind: 'decimate'; count: number | null; percent: number | null }
403
404
  | { kind: 'lod'; value: number }
404
405
  | { kind: 'summary' }
405
406
  | { kind: 'mortonOrder' };