Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Jan 14:09

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 --summary action 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 playcanvas alongside @playcanvas/splat-transform
  • Node.js Buffer removed: All internal code now uses Uint8Array for cross-platform compatibility

Installation

# CLI usage
npm install -g @playcanvas/splat-transform

# Library usage
npm install @playcanvas/splat-transform playcanvas

Full 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 pathe library (#138)
  • Updated all npm dependencies (#129)

Thank you to everyone who contributed to this release!