@playcanvas/splat-transform 1.8.3 → 1.9.1
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 +7 -6
- package/dist/cli.mjs +1309 -141
- package/dist/cli.mjs.map +1 -1
- package/dist/index.cjs +1294 -126
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1293 -127
- package/dist/index.mjs.map +1 -1
- package/dist/lib/data-table/decimate.d.ts +14 -0
- package/dist/lib/index.d.cts +3 -2
- package/dist/lib/index.d.ts +3 -2
- package/dist/lib/process.d.ts +9 -8
- package/dist/lib/spatial/kd-tree.d.ts +5 -0
- package/dist/lib/utils/logger.d.ts +6 -0
- package/dist/lib/write.d.ts +2 -1
- package/dist/lib/writers/write-glb.d.ts +15 -0
- package/package.json +1 -1
- package/dist/lib/data-table/filter-visibility.d.ts +0 -17
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, --
|
|
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
|
-
#
|
|
180
|
-
splat-transform input.ply --
|
|
180
|
+
# Simplify to 50000 splats via progressive pairwise merging
|
|
181
|
+
splat-transform input.ply --decimate 50000 output.ply
|
|
181
182
|
|
|
182
|
-
#
|
|
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: '
|
|
403
|
+
| { kind: 'decimate'; count: number | null; percent: number | null }
|
|
403
404
|
| { kind: 'lod'; value: number }
|
|
404
405
|
| { kind: 'summary' }
|
|
405
406
|
| { kind: 'mortonOrder' };
|