Skip to content

Releases: NewKrok/three-particles

2.4.0

Choose a tag to compare

@NewKrok NewKrok released this 30 Jan 00:31
bccfac9

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 updateParticleSystemInstance to reduce garbage collection pressure, improving performance in scenarios with many active particles. (91607aa)

  • Optimized Array Allocations - Optimized createParticleSystem array 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

Choose a tag to compare

@NewKrok NewKrok released this 18 Jan 22:13
e21f5ad

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

Choose a tag to compare

@NewKrok NewKrok released this 18 Oct 21:01
eeecfcb

What's Changed

  • chore: update npm packages to latest versions by @NewKrok in #9

Full Changelog: 2.1.0...2.2.0

2.1.0

Choose a tag to compare

@NewKrok NewKrok released this 03 Jun 23:35

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

Choose a tag to compare

@NewKrok NewKrok released this 21 Apr 11:42
46428ed

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 (lifeTimeCurvelifetimeCurve)
    • Replaced patchObject with deepMerge to fix errors with certain LifetimeCurve configurations
    • Normalized line endings to LF across all source files
  • Testing: Added tests for utility functions, improving coverage

🐛 Bug Fixes

  • Fixed type definition for @newkrok/three-utils deepMerge function
  • Resolved line ending inconsistencies
  • Improved curve function handling

2.0.2

Choose a tag to compare

@NewKrok NewKrok released this 06 Apr 19:37
90cdf78

🚀 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

Choose a tag to compare

@NewKrok NewKrok released this 02 Apr 22:41
cd0bd34

Fixes

  • Resolved TypeScript type path issues.
  • Improved fallback logic for handling empty maps.

Chores

  • Updated dependencies.

2.0.0

Choose a tag to compare

@NewKrok NewKrok released this 01 Apr 22:08
bc17687

Breaking Changes

  • The startDelay type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants.
  • The startLifeTime type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants | LifetimeCurve, and its default value has been updated from 2.0 to 5.0.
  • The startSpeed type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants | LifetimeCurve.
  • The startSize type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants | LifetimeCurve.
  • The startOpacity type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants | LifetimeCurve.
  • The startRotation type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants | LifetimeCurve.
  • The rateOverTime type has changed from number to Constant | RandomBetweenTwoConstants | LifetimeCurve.
  • The rateOverDistance type has changed from number to Constant | RandomBetweenTwoConstants | LifetimeCurve.
  • The velocityOverLifetime type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants | LifetimeCurve.
  • The startFrame type has changed from MinMaxNumber to Constant | RandomBetweenTwoConstants | LifetimeCurve, with the default value updated from 10fps to 30fps.
  • The sizeOverLifetime type has changed from CurveFunctionId to LifetimeCurve.
  • The opacityOverLifetime type has changed from CurveFunctionId to LifetimeCurve.
  • The rotationOverLifetime type has changed from MinMaxNumber to RandomBetweenTwoConstants.

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.

What's Changed

1.0.3

Choose a tag to compare

@NewKrok NewKrok released this 15 Aug 13:37

Improvements

  • Some typedef fixes

1.0.2

Choose a tag to compare

@NewKrok NewKrok released this 16 Jul 20:11

Improvements

  • Some typedef fixes