UNPKG

@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
# 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