()
| 148 | |
| 149 | // --- PATTERN CHANGE / TRANSITION --- |
| 150 | function forcePatternChange() { |
| 151 | if (isTransitioning) { |
| 152 | completeCurrentTransition(); // Finish current transition instantly |
| 153 | } |
| 154 | const nextPattern = (currentPattern + 1) % patterns.length; |
| 155 | transitionToPattern(nextPattern); |
| 156 | } |
| 157 | |
| 158 | function completeCurrentTransition() { |
| 159 | if (!isTransitioning || !particles || !particles.geometry || !particles.userData.toPositions || !particles.userData.toColors) { |
no test coverage detected