v1.0.0
SplatTransform v1.0.0
We're excited to announce SplatTransform v1.0.0 - a major milestone that transforms the project from a CLI-only tool into a full-featured library with programmatic API support for both Node.js and browser environments.
Highlights
- Library API: SplatTransform can now be imported as a library in your JavaScript/TypeScript projects
- Cross-Platform: Works in both Node.js and browser environments
- Streaming File Systems: Flexible file system abstractions for reading from URLs, memory, or ZIP archives
- Statistical Summaries: New
--summaryaction for data analysis
New Library API
import {
readFile,
writeFile,
getInputFormat,
getOutputFormat,
DataTable,
processDataTable,
UrlReadFileSystem,
MemoryFileSystem
} from '@playcanvas/splat-transform';Key Exports
| Export | Description |
|---|---|
readFile / writeFile |
Read and write splat data in various formats |
DataTable, Column |
Core data structures for splat data |
processDataTable |
Apply transformations, filters, and actions programmatically |
computeSummary |
Generate statistical summaries for data analysis |
UrlReadFileSystem |
Read from URLs (browser/Node.js) |
MemoryReadFileSystem |
Read from in-memory buffers |
ZipReadFileSystem |
Read from ZIP archives |
MemoryFileSystem / ZipFileSystem |
Write to memory or ZIP archives |
New Features
- Statistical Summary Action (
-m, --summary): Generate per-column statistics including min, max, median, mean, stdDev, nanCount, and infCount - Configurable WASM URL: Browser bundlers can now configure the WebP WASM module location
- Improved K-Means Initialization: Better clustering for SOG compression
Breaking Changes
- PlayCanvas is now a peer dependency: Install
playcanvasalongside@playcanvas/splat-transform - Node.js Buffer removed: All internal code now uses
Uint8Arrayfor cross-platform compatibility
Installation
# CLI usage
npm install -g @playcanvas/splat-transform
# Library usage
npm install @playcanvas/splat-transform playcanvasFull Changelog
Architecture
- Refactored to Library + CLI architecture (#137)
- Streaming Read API and directory restructuring (#135)
- Simplified GPU device architecture with dependency injection (#136)
- Generic writer interface (#124)
New Features
- Statistical summary action (#139)
- Configurable WASM URL for browser bundlers (#143)
- Improved k-means initialization (#127)
Compatibility
- Removed Node.js Buffer dependency in favor of Uint8Array (#142)
- Graceful failure when no LODs are assigned (#132)
Infrastructure
- Added comprehensive test suite (#140)
- Replaced custom path utilities with
pathelibrary (#138) - Updated all npm dependencies (#129)
Thank you to everyone who contributed to this release!