custom-pixi-particles 4.30.5 → 4.30.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/behaviour/MoveToPointBehaviour.d.ts +1 -9
  5. package/dist/lib/behaviour/MoveToPointBehaviour.js +4 -12
  6. package/dist/lib/behaviour/MoveToPointBehaviour.js.map +1 -1
  7. package/dist/lib/behaviour/SoundReactiveBehaviour.js +1 -2
  8. package/dist/lib/behaviour/SoundReactiveBehaviour.js.map +1 -1
  9. package/dist/lib/behaviour/SpawnBehaviour.d.ts +3 -5
  10. package/dist/lib/behaviour/SpawnBehaviour.js +53 -94
  11. package/dist/lib/behaviour/SpawnBehaviour.js.map +1 -1
  12. package/dist/lib/effects/DissolveEffect.d.ts +3 -2
  13. package/dist/lib/effects/DissolveEffect.js +49 -47
  14. package/dist/lib/effects/DissolveEffect.js.map +1 -1
  15. package/dist/lib/effects/GhostEffect.d.ts +1 -1
  16. package/dist/lib/effects/GhostEffect.js +5 -15
  17. package/dist/lib/effects/GhostEffect.js.map +1 -1
  18. package/dist/lib/effects/GlitchEffect.d.ts +3 -2
  19. package/dist/lib/effects/GlitchEffect.js +20 -8
  20. package/dist/lib/effects/GlitchEffect.js.map +1 -1
  21. package/dist/lib/effects/MagneticAssemblyEffect.d.ts +2 -2
  22. package/dist/lib/effects/MagneticAssemblyEffect.js +13 -7
  23. package/dist/lib/effects/MagneticAssemblyEffect.js.map +1 -1
  24. package/dist/lib/effects/MeltEffect.d.ts +2 -8
  25. package/dist/lib/effects/MeltEffect.js +87 -151
  26. package/dist/lib/effects/MeltEffect.js.map +1 -1
  27. package/dist/lib/effects/ShatterEffect.d.ts +2 -2
  28. package/dist/lib/effects/ShatterEffect.js +33 -24
  29. package/dist/lib/effects/ShatterEffect.js.map +1 -1
  30. package/dist/lib/emitter/Emitter.d.ts +1 -1
  31. package/dist/lib/emitter/Emitter.js +2 -2
  32. package/dist/lib/emitter/Emitter.js.map +1 -1
  33. package/dist/lib/pixi/Renderer.d.ts +5 -4
  34. package/dist/lib/pixi/Renderer.js +68 -20
  35. package/dist/lib/pixi/Renderer.js.map +1 -1
  36. package/dist/lib/pixi/TestRenderer.d.ts +4 -3
  37. package/dist/lib/pixi/TestRenderer.js +60 -18
  38. package/dist/lib/pixi/TestRenderer.js.map +1 -1
  39. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import Renderer from './lib/pixi/Renderer';
2
2
  import { ICustomPixiParticlesSettings } from './lib/customPixiParticlesSettingsInterface';
3
3
  import TestRenderer from './lib/pixi/TestRenderer';
4
- import { DissolveEffect, GhostEffect, GlitchEffect, MagneticAssemblyEffect, MeltEffect, ShatterEffect } from './lib/effects';
5
- export type { IShatterEffectOptions, ShatterMode, IDissolveEffectOptions, DissolveDirection, IMagneticAssemblyOptions, AssemblyMode, IGhostEffectOptions, IGlitchEffectOptions, IMeltEffectOptions, } from './lib/effects';
4
+ import { ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect } from './lib/effects';
5
+ export type { IShatterEffectOptions, ShatterMode, IDissolveEffectOptions, DissolveDirection, IMagneticAssemblyOptions, AssemblyMode, IGhostEffectOptions, IGlitchEffectOptions, IMeltEffectOptions } from './lib/effects';
6
6
  /**
7
7
  * Constructs a renderer for custom pixi particles
8
8
  * @class Renderer
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import Renderer from './lib/pixi/Renderer';
2
2
  import TestRenderer from './lib/pixi/TestRenderer';
3
- import { DissolveEffect, GhostEffect, GlitchEffect, MagneticAssemblyEffect, MeltEffect, ShatterEffect, } from './lib/effects';
3
+ import { ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect } from './lib/effects';
4
4
  /**
5
5
  * Constructs a renderer for custom pixi particles
6
6
  * @class Renderer
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAE1C,OAAO,YAAY,MAAM,yBAAyB,CAAA;AAClD,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,aAAa,GACd,MAAM,eAAe,CAAA;AAetB;;;;GAIG;AACH,MAAM,mBAAmB,GAAG;IAC1B,MAAM,CAAC,QAAsC;QAC3C,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,qBAAqB,GAAG,CAAC,EACzB,0BAA0B,GAAG,CAAC,EAC9B,iBAAiB,GAAG,EAAE,EACtB,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EACf,GAAG,GAAG,IAAI,EACV,IAAI,GAAG,IAAI,EACX,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,WAAW,GAAG,IAAI,GACnB,GAAG,QAAQ,CAAA;QACZ,OAAO,IAAI,QAAQ,CAAC;YAClB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,aAAa;YACb,iBAAiB;YACjB,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,GAAG;YACH,IAAI;YACJ,YAAY;YACZ,MAAM;YACN,MAAM;YACN,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,MAAM,8BAA8B,GAAG;IACrC,MAAM,CAAC,QAAsC;QAC3C,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,qBAAqB,GAAG,CAAC,EACzB,0BAA0B,GAAG,CAAC,EAC9B,iBAAiB,GAAG,EAAE,EACtB,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,WAAW,GAAG,IAAI,GACnB,GAAG,QAAQ,CAAA;QACZ,OAAO,IAAI,YAAY,CAAC;YACtB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,aAAa;YACb,iBAAiB;YACjB,MAAM;YACN,MAAM;YACN,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,8BAA8B,EAE9B,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,UAAU,GACX,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAE1C,OAAO,YAAY,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI5H;;;;GAIG;AACH,MAAM,mBAAmB,GAAG;IAC1B,MAAM,CAAC,QAAsC;QAC3C,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,qBAAqB,GAAG,CAAC,EACzB,0BAA0B,GAAG,CAAC,EAC9B,iBAAiB,GAAG,EAAE,EACtB,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EACf,GAAG,GAAG,IAAI,EACV,IAAI,GAAG,IAAI,EACX,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,WAAW,GAAG,IAAI,GACnB,GAAG,QAAQ,CAAA;QACZ,OAAO,IAAI,QAAQ,CAAC;YAClB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,aAAa;YACb,iBAAiB;YACjB,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,GAAG;YACH,IAAI;YACJ,YAAY;YACZ,MAAM;YACN,MAAM;YACN,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,MAAM,8BAA8B,GAAG;IACrC,MAAM,CAAC,QAAsC;QAC3C,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,qBAAqB,GAAG,CAAC,EACzB,0BAA0B,GAAG,CAAC,EAC9B,iBAAiB,GAAG,EAAE,EACtB,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,EACX,WAAW,GAAG,IAAI,GACnB,GAAG,QAAQ,CAAA;QACZ,OAAO,IAAI,YAAY,CAAC;YACtB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,aAAa;YACb,iBAAiB;YACjB,MAAM;YACN,MAAM;YACN,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,8BAA8B,EAE9B,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,UAAU,GACX,CAAA"}
@@ -62,10 +62,6 @@ export default class MoveToPointBehaviour extends Behaviour {
62
62
  init: (particle: Particle) => void;
63
63
  private _initializeParticleForMove;
64
64
  apply: (particle: Particle, deltaTime: number) => void;
65
- /**
66
- * Gets the name of the behaviour.
67
- * @returns {string} - The name of the behaviour.
68
- */
69
65
  onParticleRemoved: (particle: Particle) => void;
70
66
  private _applyEasing;
71
67
  private _easeBackInOut;
@@ -82,10 +78,6 @@ export default class MoveToPointBehaviour extends Behaviour {
82
78
  private _easeElasticInOut;
83
79
  private _easeSteps;
84
80
  getName(): string;
85
- /**
86
- * Gets the properties of the behaviour for configuration.
87
- * @returns {object} - The properties of the behaviour.
88
- */
89
81
  getProps(): {
90
82
  enabled: boolean;
91
83
  active: boolean;
@@ -94,10 +86,10 @@ export default class MoveToPointBehaviour extends Behaviour {
94
86
  y: number;
95
87
  };
96
88
  speed: number;
97
- priority: number;
98
89
  killOnArrival: boolean;
99
90
  resetMaxLifeTime: boolean;
100
91
  arrivalThreshold: number;
92
+ priority: number;
101
93
  pathType: "linear" | "sinusoidal";
102
94
  sinusoidalAmplitude: number;
103
95
  sinusoidalFrequency: number;
@@ -1,3 +1,4 @@
1
+ // src/lib/behaviour/MoveToPointBehaviour.ts
1
2
  import { Behaviour, BehaviourNames } from './index';
2
3
  import { Point } from '../util';
3
4
  /**
@@ -117,8 +118,8 @@ export default class MoveToPointBehaviour extends Behaviour {
117
118
  normalizedProgress = Math.min(1.0, normalizedProgress);
118
119
  const easedProgress = this._applyEasing(normalizedProgress, this.pathEasing);
119
120
  // Calculate the position on the straight line path based on eased progress
120
- const currentXOnLine = particle.moveToPointInitialX + (this.targetPoint.x - particle.moveToPointInitialX) * easedProgress;
121
- const currentYOnLine = particle.moveToPointInitialY + (this.targetPoint.y - particle.moveToPointInitialY) * easedProgress;
121
+ let currentXOnLine = particle.moveToPointInitialX + (this.targetPoint.x - particle.moveToPointInitialX) * easedProgress;
122
+ let currentYOnLine = particle.moveToPointInitialY + (this.targetPoint.y - particle.moveToPointInitialY) * easedProgress;
122
123
  // Apply sinusoidal offset if applicable and the linear journey is not yet complete
123
124
  if (this.pathType === 'sinusoidal' && normalizedProgress < 1.0) {
124
125
  const dirToTargetX = (this.targetPoint.x - particle.moveToPointInitialX) / particle.moveToPointTotalDistance;
@@ -159,10 +160,6 @@ export default class MoveToPointBehaviour extends Behaviour {
159
160
  particle.movement.x = particle.x;
160
161
  particle.movement.y = particle.y;
161
162
  };
162
- /**
163
- * Gets the name of the behaviour.
164
- * @returns {string} - The name of the behaviour.
165
- */
166
163
  this.onParticleRemoved = (particle) => {
167
164
  this._wasActiveLastFrame.delete(particle.uid);
168
165
  };
@@ -278,7 +275,6 @@ export default class MoveToPointBehaviour extends Behaviour {
278
275
  if (t === 1)
279
276
  return 1;
280
277
  const s = (period / (2 * Math.PI)) * Math.asin(1 / amplitude);
281
- // tslint:disable-next-line:no-conditional-assignment
282
278
  if ((t *= 2) < 1) {
283
279
  return -0.5 * (amplitude * Math.pow(2, 10 * (t -= 1)) * Math.sin(((t - s) * (2 * Math.PI)) / period));
284
280
  }
@@ -292,20 +288,16 @@ export default class MoveToPointBehaviour extends Behaviour {
292
288
  getName() {
293
289
  return BehaviourNames.MOVE_TO_POINT_BEHAVIOUR;
294
290
  }
295
- /**
296
- * Gets the properties of the behaviour for configuration.
297
- * @returns {object} - The properties of the behaviour.
298
- */
299
291
  getProps() {
300
292
  return {
301
293
  enabled: this.enabled,
302
294
  active: this.active,
303
295
  targetPoint: { x: this.targetPoint.x, y: this.targetPoint.y },
304
296
  speed: this.speed,
305
- priority: this.priority,
306
297
  killOnArrival: this.killOnArrival,
307
298
  resetMaxLifeTime: this.resetMaxLifeTime,
308
299
  arrivalThreshold: this.arrivalThreshold,
300
+ priority: this.priority,
309
301
  pathType: this.pathType,
310
302
  sinusoidalAmplitude: this.sinusoidalAmplitude,
311
303
  sinusoidalFrequency: this.sinusoidalFrequency,
@@ -1 +1 @@
1
- {"version":3,"file":"MoveToPointBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/MoveToPointBehaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MoveToPointBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/MoveToPointBehaviour.ts"],"names":[],"mappings":"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"}
@@ -27,8 +27,7 @@ export default class SoundReactiveBehaviour extends Behaviour {
27
27
  apply(particle, deltaTime) {
28
28
  if (!this.enabled || !this.analyser || !this.frequencyData || !this.isPlaying)
29
29
  return;
30
- // Update frequency data
31
- // @ts-ignore
30
+ // Update frequency data (cast for Web Audio API: expects Uint8Array<ArrayBuffer>, not ArrayBufferLike)
32
31
  this.analyser.getByteFrequencyData(this.frequencyData);
33
32
  // Compute amplitude and frequency effects
34
33
  const amplitude = this.getAmplitude();
@@ -1 +1 @@
1
- {"version":3,"file":"SoundReactiveBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SoundReactiveBehaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SoundReactiveBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SoundReactiveBehaviour.ts"],"names":[],"mappings":"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"}
@@ -25,11 +25,7 @@ export default class SpawnBehaviour extends Behaviour {
25
25
  * @returns {Point[]} List of positions along the trail.
26
26
  */
27
27
  calculateTrailRangePositions: (point: any) => {
28
- positions: {
29
- x: any;
30
- y: any;
31
- z: any;
32
- }[];
28
+ positions: any[];
33
29
  probabilities: number[];
34
30
  };
35
31
  /**
@@ -50,6 +46,8 @@ export default class SpawnBehaviour extends Behaviour {
50
46
  };
51
47
  /**
52
48
  * Update trail progress once per frame.
49
+ * When trailRepeat is true and trailStart > 0, each lap runs from trailStart to 1
50
+ * (lap progress 0..1 maps to path progress trailStart..1) so repeats start at trailStart, not 0.
53
51
  * @param {number} deltaTime - Time since the last update
54
52
  */
55
53
  updateTrailProgress: (deltaTime: number) => void;
@@ -113,20 +113,26 @@ export default class SpawnBehaviour extends Behaviour {
113
113
  */
114
114
  this.calculateTrailRangePositions = (point) => {
115
115
  const positions = [];
116
- const segments = 20; // Increase segments for finer granularity
117
- const trailStart = this.trailStart || 0;
118
- const weights = []; // Store probabilities for positions
119
- const startProgress = Math.max(trailStart, 0);
120
- const endProgress = Math.min(this.currentProgress, 1);
121
- for (let i = startProgress; i <= endProgress; i += (endProgress - startProgress) / segments) {
122
- const position = this.calculateTrailPosition(point, i);
116
+ const weights = [];
117
+ const segments = 20;
118
+ const start = this.trailStart || 0;
119
+ const end = this.currentProgress;
120
+ const totalDistance = end >= start ? end - start : 1 - start + end;
121
+ if (totalDistance <= 0) {
122
+ return { positions: [this.calculateTrailPosition(point, end)], probabilities: [1] };
123
+ }
124
+ const stepSize = totalDistance / segments;
125
+ for (let step = 0; step <= segments; step++) {
126
+ let p = start + step * stepSize;
127
+ if (p > 1)
128
+ p -= 1;
129
+ const position = this.calculateTrailPosition(point, p);
123
130
  positions.push(position);
124
- // Assign a weight inversely proportional to distance from trail center
125
- const weightFactor = 4; // Higher values give steeper drops
126
- const distanceToTrail = Math.abs(i - this.currentProgress);
127
- weights.push(Math.exp(-distanceToTrail * weightFactor));
131
+ const weightFactor = 4;
132
+ const distToEnd = (segments - step) * stepSize;
133
+ weights.push(Math.exp(-distToEnd * weightFactor));
128
134
  }
129
- // Normalize weights to create probabilities
135
+ // Normalize weights
130
136
  const totalWeight = weights.reduce((sum, w) => sum + w, 0);
131
137
  const probabilities = weights.map((w) => w / totalWeight);
132
138
  return { positions, probabilities };
@@ -190,8 +196,8 @@ export default class SpawnBehaviour extends Behaviour {
190
196
  particle.movement.y = Math.random() * h + particle.movement.y;
191
197
  particle.movement.x = Math.random() < 0.5 ? particle.movement.x : particle.movement.x + w - 1;
192
198
  }
193
- particle.movement.x += this.calculate(point.position.x, point.positionVariance.x);
194
- particle.movement.y += this.calculate(point.position.y, point.positionVariance.y);
199
+ particle.movement.x += this.calculate(point.position.x, point.positionVariance.x) - w / 2;
200
+ particle.movement.y += this.calculate(point.position.y, point.positionVariance.y) - h / 2;
195
201
  }
196
202
  else if (point.spawnType === 'Frame') {
197
203
  const w = point.radius;
@@ -204,8 +210,8 @@ export default class SpawnBehaviour extends Behaviour {
204
210
  particle.movement.y = Math.random() * h + particle.movement.y;
205
211
  particle.movement.x = Math.random() < 0.5 ? particle.movement.x : particle.movement.x + w - 1;
206
212
  }
207
- particle.movement.x += this.calculate(point.position.x, point.positionVariance.x);
208
- particle.movement.y += this.calculate(point.position.y, point.positionVariance.y);
213
+ particle.movement.x += this.calculate(point.position.x, point.positionVariance.x) - w / 2;
214
+ particle.movement.y += this.calculate(point.position.y, point.positionVariance.y) - h / 2;
209
215
  }
210
216
  else if (point.spawnType === 'Sphere') {
211
217
  const phi = Math.random() * Math.PI * 2; // Random azimuthal angle
@@ -243,8 +249,10 @@ export default class SpawnBehaviour extends Behaviour {
243
249
  else if (point.spawnType === 'Grid') {
244
250
  const row = Math.floor(Math.random() * point.rows);
245
251
  const column = Math.floor(Math.random() * point.columns);
246
- particle.movement.x = this.calculate(point.position.x, point.positionVariance.x) + column * point.cellSize;
247
- particle.movement.y = this.calculate(point.position.y, point.positionVariance.y) + row * point.cellSize;
252
+ const offsetX = (column - (point.columns - 1) / 2) * point.cellSize;
253
+ const offsetY = (row - (point.rows - 1) / 2) * point.cellSize;
254
+ particle.movement.x = this.calculate(point.position.x, point.positionVariance.x) + offsetX;
255
+ particle.movement.y = this.calculate(point.position.y, point.positionVariance.y) + offsetY;
248
256
  }
249
257
  else if (point.spawnType === 'Word') {
250
258
  if (particleCount > 0 && pixelPositions.length > 0) {
@@ -276,7 +284,7 @@ export default class SpawnBehaviour extends Behaviour {
276
284
  3 * Math.pow((1 - t), 2) * t * cx1 +
277
285
  3 * (1 - t) * Math.pow(t, 2) * cx2 +
278
286
  Math.pow(t, 3) * point.end.x;
279
- const y = this.calculate(point.position.x, point.positionVariance.x) +
287
+ const y = this.calculate(point.position.y, point.positionVariance.y) +
280
288
  Math.pow((1 - t), 3) * point.start.y +
281
289
  3 * Math.pow((1 - t), 2) * t * cy1 +
282
290
  3 * (1 - t) * Math.pow(t, 2) * cy2 +
@@ -477,10 +485,10 @@ export default class SpawnBehaviour extends Behaviour {
477
485
  const localProgress = (progress * totalSegments) % 1;
478
486
  const start = pathPoints[segmentIndex];
479
487
  const end = pathPoints[segmentIndex + 1];
480
- const x = start.x + localProgress * (end.x - start.x);
481
- const y = start.y + localProgress * (end.y - start.y);
488
+ const localX = start.x + localProgress * (end.x - start.x);
489
+ const localY = start.y + localProgress * (end.y - start.y);
482
490
  const z = start.z + localProgress * (end.z - start.z || 0);
483
- return { x, y, z };
491
+ return { x: point.position.x + localX, y: point.position.y + localY, z };
484
492
  }
485
493
  case 'Lissajous': {
486
494
  const a = point.frequency.x;
@@ -516,91 +524,64 @@ export default class SpawnBehaviour extends Behaviour {
516
524
  case 'Bezier': {
517
525
  const t = progress; // Use progress directly as the parameter for the curve
518
526
  const { start, end, control1, control2 } = point;
519
- // Calculate position along the Bezier curve
520
- const x = Math.pow((1 - t), 3) * start.x +
527
+ const localX = Math.pow((1 - t), 3) * start.x +
521
528
  3 * Math.pow((1 - t), 2) * t * control1.x +
522
529
  3 * (1 - t) * Math.pow(t, 2) * control2.x +
523
530
  Math.pow(t, 3) * end.x;
524
- const y = Math.pow((1 - t), 3) * start.y +
531
+ const localY = Math.pow((1 - t), 3) * start.y +
525
532
  3 * Math.pow((1 - t), 2) * t * control1.y +
526
533
  3 * (1 - t) * Math.pow(t, 2) * control2.y +
527
534
  Math.pow(t, 3) * end.y;
528
- return { x, y, z: 0 }; // Bezier is 2D, so z is 0
535
+ return { x: point.position.x + localX, y: point.position.y + localY, z: 0 };
529
536
  }
530
537
  case 'Frame': {
531
- // Frame uses radius for both width and height (square frame)
532
538
  const w = point.radius || 100;
533
539
  const h = point.radius || 100;
534
- // Perimeter: top (w) + right (h) + bottom (w) + left (h) = 2*(w+h)
535
540
  const perimeter = 2 * (w + h);
536
541
  const totalDistance = perimeter * progress;
537
542
  const localPosition = totalDistance % perimeter;
538
- // Start from position
539
- let x = point.position.x;
540
- let y = point.position.y;
541
- // Trace the frame perimeter starting from top-left, going clockwise
542
- // Spawn logic:
543
- // Top/Bottom: x = Math.random() * w (0 to w), y = 0 or h-1
544
- // Left/Right: y = Math.random() * h (0 to h), x = 0 or w-1
543
+ let x = point.position.x - w / 2;
544
+ let y = point.position.y - h / 2;
545
545
  if (localPosition < w) {
546
- // Top edge: x from 0 to w, y = 0
547
546
  x += localPosition;
548
- y += 0;
549
547
  }
550
548
  else if (localPosition < w + h) {
551
- // Right edge: x = w-1, y from 0 to h
552
549
  x += w - 1;
553
550
  y += localPosition - w;
554
551
  }
555
552
  else if (localPosition < 2 * w + h) {
556
- // Bottom edge: x from w-1 down to 0, y = h-1
557
553
  const bottomProgress = localPosition - w - h;
558
554
  x += w - 1 - bottomProgress;
559
555
  y += h - 1;
560
556
  }
561
557
  else {
562
- // Left edge: x = 0, y from h-1 down to 0
563
558
  const leftProgress = localPosition - 2 * w - h;
564
- x += 0;
565
559
  y += h - 1 - leftProgress;
566
560
  }
567
561
  return { x, y, z: 0 };
568
562
  }
569
563
  case 'FrameRectangle': {
570
- // FrameRectangle uses radiusX for width and radiusY for height
571
564
  const w = point.radiusX || 100;
572
565
  const h = point.radiusY || 100;
573
- // Perimeter: top (w) + right (h) + bottom (w) + left (h) = 2*(w+h)
574
566
  const perimeter = 2 * (w + h);
575
567
  const totalDistance = perimeter * progress;
576
568
  const localPosition = totalDistance % perimeter;
577
- // Start from position
578
- let x = point.position.x;
579
- let y = point.position.y;
580
- // Trace the frame perimeter starting from top-left, going clockwise
581
- // Spawn logic:
582
- // Top/Bottom: x = Math.random() * w (0 to w), y = 0 or h-1
583
- // Left/Right: y = Math.random() * h (0 to h), x = 0 or w-1
569
+ let x = point.position.x - w / 2;
570
+ let y = point.position.y - h / 2;
584
571
  if (localPosition < w) {
585
- // Top edge: x from 0 to w, y = 0
586
572
  x += localPosition;
587
- y += 0;
588
573
  }
589
574
  else if (localPosition < w + h) {
590
- // Right edge: x = w-1, y from 0 to h
591
575
  x += w - 1;
592
576
  y += localPosition - w;
593
577
  }
594
578
  else if (localPosition < 2 * w + h) {
595
- // Bottom edge: x from w-1 down to 0, y = h-1
596
579
  const bottomProgress = localPosition - w - h;
597
580
  x += w - 1 - bottomProgress;
598
581
  y += h - 1;
599
582
  }
600
583
  else {
601
- // Left edge: x = 0, y from h-1 down to 0
602
584
  const leftProgress = localPosition - 2 * w - h;
603
- x += 0;
604
585
  y += h - 1 - leftProgress;
605
586
  }
606
587
  return { x, y, z: 0 };
@@ -638,53 +619,31 @@ export default class SpawnBehaviour extends Behaviour {
638
619
  };
639
620
  /**
640
621
  * Update trail progress once per frame.
622
+ * When trailRepeat is true and trailStart > 0, each lap runs from trailStart to 1
623
+ * (lap progress 0..1 maps to path progress trailStart..1) so repeats start at trailStart, not 0.
641
624
  * @param {number} deltaTime - Time since the last update
642
625
  */
643
626
  this.updateTrailProgress = (deltaTime) => {
627
+ var _a;
644
628
  if (!this.trailingEnabled)
645
629
  return;
646
- const trailStart = this.trailStart || 0;
647
- // Increment trail progress
648
- this.trailProgress += this.trailSpeed * deltaTime;
649
- if (trailStart > 0) {
650
- const remainingDistance = 1 - trailStart;
651
- if (!this.overOne) {
652
- if (this.trailProgress > remainingDistance) {
653
- if (this.trailRepeat) {
654
- this.overOne = true;
655
- this.trailProgress = 0;
656
- }
657
- else {
658
- this.trailProgress = remainingDistance;
659
- }
660
- }
661
- this.currentProgress = trailStart + (this.trailProgress / remainingDistance) * remainingDistance;
630
+ const start = (_a = this.trailStart) !== null && _a !== void 0 ? _a : 0;
631
+ const range = 1 - start;
632
+ if (range <= 0) {
633
+ this.currentProgress = 1;
634
+ return;
635
+ }
636
+ this.trailProgress += (this.trailSpeed / range) * deltaTime;
637
+ if (this.trailProgress > 1) {
638
+ if (this.trailRepeat) {
639
+ this.trailProgress = 0;
662
640
  }
663
641
  else {
664
- if (this.trailProgress > 1) {
665
- if (this.trailRepeat) {
666
- this.trailProgress %= 1;
667
- }
668
- else {
669
- this.trailingEnabled = false;
670
- this.trailProgress = 1;
671
- }
672
- }
673
- this.currentProgress = this.trailProgress;
674
- }
675
- }
676
- else {
677
- if (this.trailProgress > 1) {
678
- if (this.trailRepeat) {
679
- this.trailProgress %= 1;
680
- }
681
- else {
682
- this.trailingEnabled = false;
683
- this.trailProgress = 1;
684
- }
642
+ this.trailProgress = 1;
643
+ this.trailingEnabled = false;
685
644
  }
686
- this.currentProgress = this.trailProgress;
687
645
  }
646
+ this.currentProgress = start + this.trailProgress * range;
688
647
  };
689
648
  // Utility function for weighted random selection
690
649
  this.weightedRandomIndex = (probabilities) => {