custom-pixi-particles 4.32.0 → 4.33.0

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 (41) hide show
  1. package/README.md +26 -2
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.js +30 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/behaviour/BehaviourNames.d.ts +1 -0
  6. package/dist/lib/behaviour/BehaviourNames.js +1 -0
  7. package/dist/lib/behaviour/BehaviourNames.js.map +1 -1
  8. package/dist/lib/behaviour/IBehaviour.d.ts +2 -0
  9. package/dist/lib/behaviour/SpawnBehaviour.d.ts +11 -3
  10. package/dist/lib/behaviour/SpawnBehaviour.js +89 -32
  11. package/dist/lib/behaviour/SpawnBehaviour.js.map +1 -1
  12. package/dist/lib/behaviour/TurbulenceBehaviour.js +1 -4
  13. package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -1
  14. package/dist/lib/behaviour/Wireframe3DBehaviour.d.ts +140 -0
  15. package/dist/lib/behaviour/Wireframe3DBehaviour.js +572 -0
  16. package/dist/lib/behaviour/Wireframe3DBehaviour.js.map +1 -0
  17. package/dist/lib/behaviour/index.d.ts +2 -1
  18. package/dist/lib/behaviour/index.js +2 -1
  19. package/dist/lib/behaviour/index.js.map +1 -1
  20. package/dist/lib/effects/MeltEffect.d.ts +6 -0
  21. package/dist/lib/effects/MeltEffect.js +15 -2
  22. package/dist/lib/effects/MeltEffect.js.map +1 -1
  23. package/dist/lib/emission/AbstractEmission.d.ts +1 -1
  24. package/dist/lib/emission/AbstractEmission.js +1 -1
  25. package/dist/lib/emission/AbstractEmission.js.map +1 -1
  26. package/dist/lib/emission/RandomEmission.d.ts +1 -1
  27. package/dist/lib/emission/RandomEmission.js +2 -1
  28. package/dist/lib/emission/RandomEmission.js.map +1 -1
  29. package/dist/lib/emission/StandardEmission.d.ts +1 -1
  30. package/dist/lib/emission/StandardEmission.js +2 -1
  31. package/dist/lib/emission/StandardEmission.js.map +1 -1
  32. package/dist/lib/emission/UniformEmission.d.ts +5 -1
  33. package/dist/lib/emission/UniformEmission.js +8 -1
  34. package/dist/lib/emission/UniformEmission.js.map +1 -1
  35. package/dist/lib/pixi/Renderer.d.ts +2 -0
  36. package/dist/lib/pixi/Renderer.js +14 -7
  37. package/dist/lib/pixi/Renderer.js.map +1 -1
  38. package/dist/lib/pixi/TestRenderer.d.ts +2 -1
  39. package/dist/lib/pixi/TestRenderer.js +26 -8
  40. package/dist/lib/pixi/TestRenderer.js.map +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -589,6 +589,23 @@ particles.emitter.behaviours.add(myCustomBehaviour)
589
589
  // New and existing particles will use the new behaviour on the next update
590
590
  ```
591
591
 
592
+ **Extending built-in behaviours:** All built-in behaviour classes are exported from the package so you can extend any of them: `SpawnBehaviour`, `LifeBehaviour`, `PositionBehaviour`, `ColorBehaviour`, `SizeBehaviour`, `AngularVelocityBehaviour`, `EmitDirectionBehaviour`, `RotationBehaviour`, `TurbulenceBehaviour`, `CollisionBehaviour`, `AttractionRepulsionBehaviour`, `NoiseBasedMotionBehaviour`, `ForceFieldsBehaviour`, `TimelineBehaviour`, `GroupingBehaviour`, `SoundReactiveBehaviour`, `LightEffectBehaviour`, `StretchBehaviour`, `TemperatureBehaviour`, `MoveToPointBehaviour`. Also exported: `Behaviour`, `BehaviourRegistry`, `EmitterBehaviours`, `BehaviourNames`.
593
+
594
+ **Replacing a built-in behaviour:** Register your class under the same name as a built-in (e.g. `SpawnBehaviour`) **before** creating the renderer or loading config. The registry is checked first, so your implementation is used instead. Use this for customizations like multiple trails on one shape, different trailing logic (e.g. CCV-style), or any variant of spawn/trail/position without changing the library.
595
+
596
+ ```javascript
597
+ import { BehaviourRegistry, SpawnBehaviour } from 'custom-pixi-particles'
598
+
599
+ class MySpawnBehaviour extends SpawnBehaviour {
600
+ getName() { return 'SpawnBehaviour' }
601
+ // Override init/apply, add multiple trails, custom trailing (e.g. CCV), etc.
602
+ }
603
+ BehaviourRegistry.register('SpawnBehaviour', MySpawnBehaviour)
604
+ // Then create renderer / load config that uses name: 'SpawnBehaviour'
605
+ ```
606
+
607
+ **Unregister:** `BehaviourRegistry.unregister('MyCustomBehaviour')` removes a registration. To restore a built-in after replacing it, unregister the custom name so the built-in is used again (built-ins are not in the registry by default).
608
+
592
609
  #### Life Behaviour
593
610
  Controls particle lifetime.
594
611
 
@@ -634,13 +651,20 @@ Defines where and how particles spawn. Supports multiple spawn types.
634
651
  // ... spawn type specific properties
635
652
  },
636
653
  ],
637
- trailingEnabled: false, // Enable trail effects
638
- spawnAlongTrail: false, // Spawn along entire trail
654
+ trailingEnabled: false, // Enable trail effects (path types only)
655
+ spawnAlongTrail: false, // true = uniform along trail; false = weighted toward leading edge
639
656
  trailSpeed: 1, // Trail animation speed
657
+ trailRepeat: true, // Loop the trail
658
+ trailStart: 0, // Start position on path (0–1)
659
+ trailRangeSegments: 20, // Sampling points along trail (higher = finer distribution)
660
+ trailRangeWeightFactor: 4, // Weight toward leading edge when spawnAlongTrail is false
661
+ trailRangeLength: 1, // Length of trail to spawn along (0–1); <1 avoids particles at path start
640
662
  name: 'SpawnBehaviour',
641
663
  }
642
664
  ```
643
665
 
666
+ **Trailing:** When `trailingEnabled` is true (path types like Frame, Ring, Bezier only), particles spawn along a moving “head” on the path. **Spawn Along Trail** on = even spread along the trail; off = more particles near the leading edge (**trailRangeWeightFactor**). **Trail Range Segments** sets how many sample points are used (higher = smoother). **Trail Range Length** (0–1) limits where particles appear: `1` = from path start to head; e.g. `0.2` = only the last 20% of the path, so the path start (e.g. top-left of a Frame) stays clear. **Trail Speed**, **Trail Repeat**, and **Trail Start** (0–1) control motion. When the path loops, the tail at the end stays visible until the head moves on.
667
+
644
668
  **Available Spawn Types:**
645
669
  - `Rectangle` - Uniform distribution in a rectangular area
646
670
  - `Ring` - Circular particle arrangement
package/dist/index.d.ts CHANGED
@@ -9,12 +9,12 @@ export type { IShatterEffectOptions, ShatterMode, IDissolveEffectOptions, Dissol
9
9
  * @param {ICustomPixiParticlesSettings} settings The settings for the renderer
10
10
  */
11
11
  declare const customPixiParticles: {
12
- create(settings: ICustomPixiParticlesSettings): Renderer;
12
+ create(settings: ICustomPixiParticlesSettings): any;
13
13
  };
14
14
  declare const _customPixiParticlesEditorOnly: {
15
15
  create(settings: ICustomPixiParticlesSettings): TestRenderer;
16
16
  };
17
17
  export type { IBehaviour } from './lib/behaviour';
18
- export { Behaviour, BehaviourRegistry } from './lib/behaviour';
18
+ export { Behaviour, BehaviourRegistry, EmitterBehaviours, SpawnBehaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, NoiseBasedMotionBehaviour, ForceFieldsBehaviour, TimelineBehaviour, GroupingBehaviour, SoundReactiveBehaviour, LightEffectBehaviour, StretchBehaviour, TemperatureBehaviour, MoveToPointBehaviour, Wireframe3DBehaviour, BehaviourNames, } from './lib/behaviour';
19
19
  export { Application, Loader } from 'pixi.js';
20
20
  export { Renderer, customPixiParticles, _customPixiParticlesEditorOnly, ICustomPixiParticlesSettings, ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect, };
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import Renderer from './lib/pixi/Renderer';
2
2
  import TestRenderer from './lib/pixi/TestRenderer';
3
3
  import { ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect } from './lib/effects';
4
+ import { Container, Graphics } from 'pixi.js-legacy';
4
5
  /**
5
6
  * Constructs a renderer for custom pixi particles
6
7
  * @class Renderer
@@ -8,8 +9,10 @@ import { ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, Gli
8
9
  */
9
10
  const customPixiParticles = {
10
11
  create(settings) {
12
+ var _a;
11
13
  const { textures, emitterConfig, animatedSpriteZeroPad = 2, animatedSpriteIndexToStart = 0, finishingTextures = [], vertices = true, position = true, rotation = true, uvs = true, tint = true, maxParticles = 10000, maxFPS = 60, minFPS = 30, tickerSpeed = 0.02, } = settings;
12
- return new Renderer({
14
+ const hasWireframe = (_a = emitterConfig === null || emitterConfig === void 0 ? void 0 : emitterConfig.behaviours) === null || _a === void 0 ? void 0 : _a.some((b) => b.name === 'Wireframe3DBehaviour');
15
+ const renderer = new Renderer({
13
16
  textures,
14
17
  animatedSpriteZeroPad,
15
18
  animatedSpriteIndexToStart,
@@ -25,6 +28,31 @@ const customPixiParticles = {
25
28
  minFPS,
26
29
  tickerSpeed,
27
30
  });
31
+ if (hasWireframe) {
32
+ const graphics = new Graphics();
33
+ const container = new Container();
34
+ container.addChild(graphics);
35
+ container.addChild(renderer);
36
+ renderer.wireframeGraphics = graphics;
37
+ Object.defineProperty(container, 'emitter', { get: () => renderer.emitter });
38
+ container.updateConfig = (c) => renderer.updateConfig(c);
39
+ container.updatePosition = (p) => renderer.updatePosition(p);
40
+ container.play = () => renderer.play();
41
+ container.stop = () => renderer.stop();
42
+ container.stopImmediately = () => renderer.stopImmediately();
43
+ container.pause = (p) => renderer.pause(p);
44
+ container.resume = () => renderer.resume();
45
+ container.start = () => renderer.start();
46
+ container.setTickerSpeed = (s) => renderer.setTickerSpeed(s);
47
+ container.updateTexture = () => renderer.updateTexture();
48
+ const origDestroy = container.destroy.bind(container);
49
+ container.destroy = () => {
50
+ renderer.destroy();
51
+ origDestroy();
52
+ };
53
+ return container;
54
+ }
55
+ return renderer;
28
56
  },
29
57
  };
30
58
  const _customPixiParticlesEditorOnly = {
@@ -42,7 +70,7 @@ const _customPixiParticlesEditorOnly = {
42
70
  });
43
71
  },
44
72
  };
45
- export { Behaviour, BehaviourRegistry } from './lib/behaviour';
73
+ export { Behaviour, BehaviourRegistry, EmitterBehaviours, SpawnBehaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, NoiseBasedMotionBehaviour, ForceFieldsBehaviour, TimelineBehaviour, GroupingBehaviour, SoundReactiveBehaviour, LightEffectBehaviour, StretchBehaviour, TemperatureBehaviour, MoveToPointBehaviour, Wireframe3DBehaviour, BehaviourNames, } from './lib/behaviour';
46
74
  // Re-export so demos can use one import (avoids loading Pixi twice)
47
75
  export { Application, Loader } from 'pixi.js';
48
76
  export { Renderer, customPixiParticles, _customPixiParticlesEditorOnly, ShatterEffect, DissolveEffect, MagneticAssemblyEffect, GhostEffect, GlitchEffect, MeltEffect, };
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,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;AAGD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAE9D,oEAAoE;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAE7C,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":"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"}
@@ -19,5 +19,6 @@ declare const behaviourNames: {
19
19
  STRETCH_BEHAVIOUR: string;
20
20
  TEMPERATURE_BEHAVIOUR: string;
21
21
  MOVE_TO_POINT_BEHAVIOUR: string;
22
+ WIREFRAME_3D_BEHAVIOUR: string;
22
23
  };
23
24
  export default behaviourNames;
@@ -19,6 +19,7 @@ const behaviourNames = {
19
19
  STRETCH_BEHAVIOUR: 'StretchBehaviour',
20
20
  TEMPERATURE_BEHAVIOUR: 'TemperatureBehaviour',
21
21
  MOVE_TO_POINT_BEHAVIOUR: 'MoveToPointBehaviour',
22
+ WIREFRAME_3D_BEHAVIOUR: 'Wireframe3DBehaviour',
22
23
  };
23
24
  export default behaviourNames;
24
25
  //# sourceMappingURL=BehaviourNames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BehaviourNames.js","sourceRoot":"","sources":["../../../src/lib/behaviour/BehaviourNames.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,8BAA8B,EAAE,8BAA8B;IAC9D,4BAA4B,EAAE,2BAA2B;IACzD,sBAAsB,EAAE,sBAAsB;IAC9C,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,kBAAkB,EAAE,mBAAmB;IACvC,wBAAwB,EAAE,wBAAwB;IAClD,sBAAsB,EAAE,sBAAsB;IAC9C,iBAAiB,EAAE,kBAAkB;IACrC,qBAAqB,EAAE,sBAAsB;IAC7C,uBAAuB,EAAE,sBAAsB;CAChD,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"BehaviourNames.js","sourceRoot":"","sources":["../../../src/lib/behaviour/BehaviourNames.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,8BAA8B,EAAE,8BAA8B;IAC9D,4BAA4B,EAAE,2BAA2B;IACzD,sBAAsB,EAAE,sBAAsB;IAC9C,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,kBAAkB,EAAE,mBAAmB;IACvC,wBAAwB,EAAE,wBAAwB;IAClD,sBAAsB,EAAE,sBAAsB;IAC9C,iBAAiB,EAAE,kBAAkB;IACrC,qBAAqB,EAAE,sBAAsB;IAC7C,uBAAuB,EAAE,sBAAsB;IAC/C,sBAAsB,EAAE,sBAAsB;CAC/C,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -38,4 +38,6 @@ export interface IBehaviour {
38
38
  update?(deltaTime: number): void;
39
39
  /** Optional: called when a particle is removed */
40
40
  onParticleRemoved?(particle: Particle): void;
41
+ /** Optional: draw wireframe/Graphics (e.g. Wireframe3DBehaviour) */
42
+ draw?(graphics: any, deltaTime: number): void;
41
43
  }
@@ -12,7 +12,9 @@ export default class SpawnBehaviour extends Behaviour {
12
12
  trailStart: number;
13
13
  trailRangeSegments: number;
14
14
  trailRangeWeightFactor: number;
15
+ trailRangeLength: number;
15
16
  currentProgress: number;
17
+ trailJustWrapped: boolean;
16
18
  customPoints: any[];
17
19
  lastWordSettings: any;
18
20
  /**
@@ -21,12 +23,17 @@ export default class SpawnBehaviour extends Behaviour {
21
23
  */
22
24
  init: (particle: Particle) => void;
23
25
  apply: () => void;
26
+ /** Distance along path from progress p to head (end), going backward; path is 0..1 circular. */
27
+ private distanceFromHead;
24
28
  /**
25
- * Calculate trail positions along the range from trailStart to currentProgress.
29
+ * Calculate trail positions along the range. Uses trailRangeLength so only the "tail" is sampled.
30
+ * When the head wraps to the start of the path, we still spawn along the end of the previous loop
31
+ * so the tail at the frame end doesn't disappear.
26
32
  * @param {Object} point - The custom point configuration.
27
- * @returns {Point[]} List of positions along the trail.
33
+ * @param {boolean} uniformWeights - If true (spawnAlongTrail), equal probability.
34
+ * @returns {{ positions, probabilities }}
28
35
  */
29
- calculateTrailRangePositions: (point: any) => {
36
+ calculateTrailRangePositions: (point: any, uniformWeights?: boolean) => {
30
37
  positions: any[];
31
38
  probabilities: number[];
32
39
  };
@@ -85,6 +92,7 @@ export default class SpawnBehaviour extends Behaviour {
85
92
  trailStart: number;
86
93
  trailRangeSegments: number;
87
94
  trailRangeWeightFactor: number;
95
+ trailRangeLength: number;
88
96
  customPoints: any[];
89
97
  name: string;
90
98
  };
@@ -18,7 +18,9 @@ export default class SpawnBehaviour extends Behaviour {
18
18
  this.trailStart = 0; // Start the trail at 20% of its path
19
19
  this.trailRangeSegments = 20; // Number of segments for trail range sampling (higher = finer distribution)
20
20
  this.trailRangeWeightFactor = 4; // Weight decay toward trail end (higher = more particles near leading edge)
21
+ this.trailRangeLength = 1; // Length of trail to spawn along (0-1)
21
22
  this.currentProgress = 0;
23
+ this.trailJustWrapped = false; // True only right after a loop wrap
22
24
  this.customPoints = [
23
25
  {
24
26
  spawnType: 'Rectangle',
@@ -78,10 +80,9 @@ export default class SpawnBehaviour extends Behaviour {
78
80
  this.overOne = false;
79
81
  }
80
82
  if (this.trailingEnabled) {
81
- const { positions, probabilities } = this.spawnAlongTrail
82
- ? this.calculateTrailRangePositions(point)
83
- : { positions: [this.calculateTrailPosition(point)], probabilities: [1] };
84
- // Use weighted random selection for position
83
+ // Always use trail range (segments + weight/length) so trailRangeSegments and trailRangeWeightFactor have effect.
84
+ // spawnAlongTrail true = uniform along trail; false = weighted toward leading edge.
85
+ const { positions, probabilities } = this.calculateTrailRangePositions(point, this.spawnAlongTrail);
85
86
  const positionIndex = this.weightedRandomIndex(probabilities);
86
87
  const position = positions[positionIndex];
87
88
  particle.movement.x = position.x + this.varianceFrom(point.positionVariance.x);
@@ -105,19 +106,62 @@ export default class SpawnBehaviour extends Behaviour {
105
106
  this.apply = () => {
106
107
  // do nothing
107
108
  };
109
+ /** Distance along path from progress p to head (end), going backward; path is 0..1 circular. */
110
+ this.distanceFromHead = (p, head) => (p <= head ? head - p : 1 - p + head);
108
111
  /**
109
- * Calculate trail positions along the range from trailStart to currentProgress.
112
+ * Calculate trail positions along the range. Uses trailRangeLength so only the "tail" is sampled.
113
+ * When the head wraps to the start of the path, we still spawn along the end of the previous loop
114
+ * so the tail at the frame end doesn't disappear.
110
115
  * @param {Object} point - The custom point configuration.
111
- * @returns {Point[]} List of positions along the trail.
116
+ * @param {boolean} uniformWeights - If true (spawnAlongTrail), equal probability.
117
+ * @returns {{ positions, probabilities }}
112
118
  */
113
- this.calculateTrailRangePositions = (point) => {
114
- var _a, _b;
119
+ this.calculateTrailRangePositions = (point, uniformWeights = false) => {
120
+ var _a, _b, _c;
115
121
  const positions = [];
116
- const weights = [];
122
+ const progressValues = [];
117
123
  const segments = (_a = this.trailRangeSegments) !== null && _a !== void 0 ? _a : 20;
118
124
  const weightFactor = (_b = this.trailRangeWeightFactor) !== null && _b !== void 0 ? _b : 4;
119
- const start = this.trailStart || 0;
125
+ const rangeLength = Math.max(0.01, Math.min(1, (_c = this.trailRangeLength) !== null && _c !== void 0 ? _c : 1));
120
126
  const end = this.currentProgress;
127
+ let start = end - rangeLength;
128
+ if (start < 0) {
129
+ if (end <= rangeLength && this.trailJustWrapped) {
130
+ const prevLoopLength = rangeLength - end;
131
+ const segsPrev = Math.max(1, Math.round((segments * prevLoopLength) / rangeLength));
132
+ const segsCurr = Math.max(1, Math.round((segments * end) / rangeLength));
133
+ if (prevLoopLength > 0.001) {
134
+ const stepPrev = prevLoopLength / segsPrev;
135
+ for (let i = 0; i <= segsPrev; i++) {
136
+ const p = 1 - prevLoopLength + i * stepPrev;
137
+ progressValues.push(p);
138
+ positions.push(this.calculateTrailPosition(point, p));
139
+ }
140
+ }
141
+ if (end > 0.001) {
142
+ const stepCurr = end / segsCurr;
143
+ for (let i = 0; i <= segsCurr; i++) {
144
+ const p = i * stepCurr;
145
+ progressValues.push(p);
146
+ positions.push(this.calculateTrailPosition(point, p));
147
+ }
148
+ }
149
+ if (positions.length === 0) {
150
+ positions.push(this.calculateTrailPosition(point, end));
151
+ progressValues.push(end);
152
+ }
153
+ const weights = progressValues.map((p) => uniformWeights ? 1 : Math.exp(-this.distanceFromHead(p, end) * weightFactor));
154
+ const totalWeight = weights.reduce((sum, w) => sum + w, 0);
155
+ const probabilities = weights.map((w) => w / totalWeight);
156
+ return { positions, probabilities };
157
+ }
158
+ if (end <= rangeLength) {
159
+ start = 0;
160
+ }
161
+ else {
162
+ start += 1;
163
+ }
164
+ }
121
165
  const totalDistance = end >= start ? end - start : 1 - start + end;
122
166
  if (totalDistance <= 0) {
123
167
  return { positions: [this.calculateTrailPosition(point, end)], probabilities: [1] };
@@ -127,12 +171,12 @@ export default class SpawnBehaviour extends Behaviour {
127
171
  let p = start + step * stepSize;
128
172
  if (p > 1)
129
173
  p -= 1;
130
- const position = this.calculateTrailPosition(point, p);
131
- positions.push(position);
132
- const distToEnd = (segments - step) * stepSize;
133
- weights.push(Math.exp(-distToEnd * weightFactor));
174
+ if (p < 0)
175
+ p += 1;
176
+ progressValues.push(p);
177
+ positions.push(this.calculateTrailPosition(point, p));
134
178
  }
135
- // Normalize weights
179
+ const weights = progressValues.map((p) => uniformWeights ? 1 : Math.exp(-this.distanceFromHead(p, end) * weightFactor));
136
180
  const totalWeight = weights.reduce((sum, w) => sum + w, 0);
137
181
  const probabilities = weights.map((w) => w / totalWeight);
138
182
  return { positions, probabilities };
@@ -540,23 +584,27 @@ export default class SpawnBehaviour extends Behaviour {
540
584
  const perimeter = 2 * (w + h);
541
585
  const totalDistance = perimeter * progress;
542
586
  const localPosition = totalDistance % perimeter;
543
- let x = point.position.x - w / 2;
544
- let y = point.position.y - h / 2;
587
+ const cx = point.position.x;
588
+ const cy = point.position.y;
589
+ let x;
590
+ let y;
545
591
  if (localPosition < w) {
546
- x += localPosition;
592
+ x = cx - w / 2 + localPosition;
593
+ y = cy - h / 2;
547
594
  }
548
595
  else if (localPosition < w + h) {
549
- x += w - 1;
550
- y += localPosition - w;
596
+ x = cx + w / 2;
597
+ y = cy - h / 2 + (localPosition - w);
551
598
  }
552
599
  else if (localPosition < 2 * w + h) {
553
600
  const bottomProgress = localPosition - w - h;
554
- x += w - 1 - bottomProgress;
555
- y += h - 1;
601
+ x = cx + w / 2 - bottomProgress;
602
+ y = cy + h / 2;
556
603
  }
557
604
  else {
558
605
  const leftProgress = localPosition - 2 * w - h;
559
- y += h - 1 - leftProgress;
606
+ x = cx - w / 2;
607
+ y = cy + h / 2 - leftProgress;
560
608
  }
561
609
  return { x, y, z: 0 };
562
610
  }
@@ -566,23 +614,27 @@ export default class SpawnBehaviour extends Behaviour {
566
614
  const perimeter = 2 * (w + h);
567
615
  const totalDistance = perimeter * progress;
568
616
  const localPosition = totalDistance % perimeter;
569
- let x = point.position.x - w / 2;
570
- let y = point.position.y - h / 2;
617
+ const cx = point.position.x;
618
+ const cy = point.position.y;
619
+ let x;
620
+ let y;
571
621
  if (localPosition < w) {
572
- x += localPosition;
622
+ x = cx - w / 2 + localPosition;
623
+ y = cy - h / 2;
573
624
  }
574
625
  else if (localPosition < w + h) {
575
- x += w - 1;
576
- y += localPosition - w;
626
+ x = cx + w / 2;
627
+ y = cy - h / 2 + (localPosition - w);
577
628
  }
578
629
  else if (localPosition < 2 * w + h) {
579
630
  const bottomProgress = localPosition - w - h;
580
- x += w - 1 - bottomProgress;
581
- y += h - 1;
631
+ x = cx + w / 2 - bottomProgress;
632
+ y = cy + h / 2;
582
633
  }
583
634
  else {
584
635
  const leftProgress = localPosition - 2 * w - h;
585
- y += h - 1 - leftProgress;
636
+ x = cx - w / 2;
637
+ y = cy + h / 2 - leftProgress;
586
638
  }
587
639
  return { x, y, z: 0 };
588
640
  }
@@ -624,7 +676,7 @@ export default class SpawnBehaviour extends Behaviour {
624
676
  * @param {number} deltaTime - Time since the last update
625
677
  */
626
678
  this.updateTrailProgress = (deltaTime) => {
627
- var _a;
679
+ var _a, _b;
628
680
  if (!this.trailingEnabled)
629
681
  return;
630
682
  const start = (_a = this.trailStart) !== null && _a !== void 0 ? _a : 0;
@@ -637,6 +689,7 @@ export default class SpawnBehaviour extends Behaviour {
637
689
  if (this.trailProgress > 1) {
638
690
  if (this.trailRepeat) {
639
691
  this.trailProgress = 0;
692
+ this.trailJustWrapped = true;
640
693
  }
641
694
  else {
642
695
  this.trailProgress = 1;
@@ -644,6 +697,9 @@ export default class SpawnBehaviour extends Behaviour {
644
697
  }
645
698
  }
646
699
  this.currentProgress = start + this.trailProgress * range;
700
+ const rangeLengthForWrap = Math.max(0.01, Math.min(1, (_b = this.trailRangeLength) !== null && _b !== void 0 ? _b : 1));
701
+ if (this.currentProgress > rangeLengthForWrap)
702
+ this.trailJustWrapped = false;
647
703
  };
648
704
  // Utility function for weighted random selection
649
705
  this.weightedRandomIndex = (probabilities) => {
@@ -693,6 +749,7 @@ export default class SpawnBehaviour extends Behaviour {
693
749
  trailStart: this.trailStart,
694
750
  trailRangeSegments: this.trailRangeSegments,
695
751
  trailRangeWeightFactor: this.trailRangeWeightFactor,
752
+ trailRangeLength: this.trailRangeLength,
696
753
  customPoints: this.customPoints,
697
754
  name: this.getName(),
698
755
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SpawnBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SpawnBehaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpawnBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SpawnBehaviour.ts"],"names":[],"mappings":"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"}
@@ -41,10 +41,7 @@ export default class TurbulenceBehaviour extends Behaviour {
41
41
  let factor = 0;
42
42
  const dx = particle.x - vortex.x;
43
43
  const dy = particle.y - vortex.y;
44
- if (dx > this.vortexOrgSize * vortex.size.x)
45
- return;
46
- if (dy > this.vortexOrgSize * vortex.size.x)
47
- return;
44
+ // Apply vortex influence in all directions; factor falls off with distance
48
45
  if (this.effect === 0 || this.effect === 1) {
49
46
  if (!this.effect) {
50
47
  vx = -dy + vortex.velocity.x;