@heliguy-xyz/splat-viewer
Version:
A standalone 3D Gaussian Splat viewer web component with multi-model support, transform system, fly camera, and scene configuration
77 lines (61 loc) • 2.75 kB
Markdown
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2025-01-XX
### Added
#### Multi-Model Support
- Add multiple models to the same scene with `addModel()`
- Remove models individually with `removeModel()`
- Query all loaded models with `getModels()`
- Get per-model statistics with `getModelStats()`
- Get scene-wide statistics with `getSceneStats()`
- Events: `model-added`, `model-removed`, `scene-cleared`
#### Transform System
- Apply 4x4 transformation matrices to models
- Set/get position, rotation, and scale independently
- Reset transforms to identity
- Event: `model-transform-changed`
#### Fly Camera Mode
- Switch between orbit and fly camera modes with `setCameraMode()`
- First-person WASD + mouse-look navigation with pointer lock
- Configurable movement speed, sensitivity, and key bindings
- Speed modifiers (Shift for fast, Ctrl for slow)
- Height constraints and collision detection options
- Events: `camera-mode-changed`, `fly-camera-move`, `fly-camera-look`
#### Scene Configuration
- Set and animate camera FOV with `setCameraFOV()` and `animateCameraFOV()`
- Set and animate background color with `setBackgroundColor()` and `animateBackgroundColor()`
- Support for multiple color formats (hex, RGB, RGBA, named colors)
- Events: `camera-fov-changed`, `background-color-changed`
#### TypeScript Support
- Full type definitions for all public APIs
- Export types for models, transforms, camera, and scene config
- IntrinsicElements declaration support for React/JSX
#### Documentation
- Comprehensive integration guide for frontend developers
- API quick reference
- Migration guide
- React/Next.js integration examples
### Changed
- Package name changed to `@heliguy/web-viewer` (scoped package)
- Made package public for npm publishing
- Updated README with npm installation instructions
- Enhanced event system with more granular events
### Fixed
- Improved type safety across all APIs
- Better error handling for model operations
- Consistent event emission patterns
## [0.1.0] - 2024-XX-XX
### Added
- Initial release
- Basic 3D Gaussian Splat viewer web component
- Support for .splat, .ply, .ply.compressed, and .sog formats
- PlayCanvas-based rendering engine
- Orbit camera controls
- Navigation cube for camera orientation
- Performance monitoring
- Loading states and error handling
- Self-contained bundle with zero external dependencies
[1.0.0]: https://github.com/Heliguy-com/3d-web-viewer/releases/tag/v1.0.0
[0.1.0]: https://github.com/Heliguy-com/3d-web-viewer/releases/tag/v0.1.0