Releases: NewKrok/three-particles
Release list
2.4.0
What's Changed in v2.4.0
✨ New Features
-
Burst Emission Support - Added burst emission functionality for creating instantaneous particle effects. This allows particles to be emitted in bursts at specific times rather than continuously. (bca557b)
-
Individual Update Method - Added individual update method to particle systems, allowing more granular control over when and how each particle system is updated. (d30cef4)
⚡ Performance Improvements
-
Reduced GC Pressure - Optimized
updateParticleSystemInstanceto reduce garbage collection pressure, improving performance in scenarios with many active particles. (91607aa) -
Optimized Array Allocations - Optimized
createParticleSystemarray allocations for better memory efficiency during particle system creation. (c0dd899)
🔧 Other Changes
- Fixed Prettier formatting issues (7be7380)
Full Changelog: v2.3.0...v2.4.0
2.3.0
Summary
- Added colorOverLifetime functionality for particle systems
- Comprehensive JSDoc documentation for core API, types, and utilities
- Updated npm packages to latest versions
- Version bump to 2.3.0
Full Changelog: 2.2.0...2.3.0
2.2.0
2.1.0
Overview
This release introduces Logarithmic Depth Buffer support for particle system shaders, updates Three.js to version 0.177.0, and includes code quality improvements.
🚀 Improvements
- Feature: Added Logarithmic Depth Buffer support to particle system shaders
- Dependency: Updated Three.js to v0.177.0
- Documentation: Added project development rules
- Code Quality: Improved code formatting and fixed indentation issues
2.0.3
Overview
This release focuses on code quality improvements, documentation enhancements, and bug fixes.
🚀 Improvements
- Documentation: Added project logo and new CodePen examples (Fire Animation, Projectile Simulation)
- Code Quality:
- Fixed inconsistent variable naming (
lifeTimeCurve→lifetimeCurve) - Replaced
patchObjectwithdeepMergeto fix errors with certainLifetimeCurveconfigurations - Normalized line endings to LF across all source files
- Fixed inconsistent variable naming (
- Testing: Added tests for utility functions, improving coverage
🐛 Bug Fixes
- Fixed type definition for
@newkrok/three-utilsdeepMerge function - Resolved line ending inconsistencies
- Improved curve function handling
2.0.2
🚀 Features
- Developer Tooling: Added Husky and Commitlint integration to enforce conventional commit message standards
🛠️ CI/CD Improvements
- Automated Publishing: Added GitHub Action workflow to automatically publish the package to npm when a new release is created
- Cross-Platform Build: Replaced Windows-specific directory cleanup commands with platform-agnostic alternatives using rimraf
🧹 Chores
- GitHub Actions: Fixed branch name references in workflow configurations
This release focuses on improving the development workflow and build process reliability. No functional changes have been made to the particle system itself.
2.0.1
2.0.0
Breaking Changes
- The
startDelaytype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants. - The
startLifeTimetype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve, and its default value has been updated from2.0to5.0. - The
startSpeedtype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve. - The
startSizetype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve. - The
startOpacitytype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve. - The
startRotationtype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve. - The
rateOverTimetype has changed fromnumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve. - The
rateOverDistancetype has changed fromnumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve. - The
velocityOverLifetimetype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve. - The
startFrametype has changed fromMinMaxNumbertoConstant | RandomBetweenTwoConstants | LifetimeCurve, with the default value updated from10fpsto30fps. - The
sizeOverLifetimetype has changed fromCurveFunctionIdtoLifetimeCurve. - The
opacityOverLifetimetype has changed fromCurveFunctionIdtoLifetimeCurve. - The
rotationOverLifetimetype has changed fromMinMaxNumbertoRandomBetweenTwoConstants.
Improvements
- The project is now written in TypeScript.
- Updated dependencies.
- Prettier added for code formatting.
- Tests have been added.
- GitHub badges added.
- TypeDoc added for documentation.