@tsparticles/effect-trail 4.0.0-beta.12 → 4.0.0-beta.16

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.
@@ -1,4 +1,4 @@
1
- import { defaultAlpha, double, getDistances, getRangeValue, half, originPoint, } from "@tsparticles/engine";
1
+ import { defaultAlpha, double, getRangeValue, half, originPoint, } from "@tsparticles/engine";
2
2
  const minTrailLength = 3, trailLengthOffset = 1, minWidth = -1, firstIndex = 0, defaultLength = 10, loopTrailLengthOffset = 2, loopTrailLengthMinIndex = 0;
3
3
  const defaultTransform = {
4
4
  a: 1,
@@ -18,6 +18,7 @@ export class TrailDrawer {
18
18
  }
19
19
  const currentPos = drawPosition, pathLength = particle.trailLength * drawScale + drawRadius;
20
20
  trail.push({
21
+ break: particle.justWarped,
21
22
  color: context.fillStyle || context.strokeStyle,
22
23
  position: {
23
24
  x: currentPos.x,
@@ -32,10 +33,7 @@ export class TrailDrawer {
32
33
  if (trail.length > pathLengthFloor) {
33
34
  trail.splice(firstIndex, trail.length - pathLengthFloor);
34
35
  }
35
- const trailLength = Math.min(trail.length, pathLength), canvasSize = {
36
- width: container.canvas.size.width * drawScale + diameter,
37
- height: container.canvas.size.height * drawScale + diameter,
38
- };
36
+ const trailLength = Math.min(trail.length, pathLength);
39
37
  context.save();
40
38
  context.lineCap = "butt";
41
39
  context.lineJoin = "round";
@@ -44,14 +42,8 @@ export class TrailDrawer {
44
42
  if (!previousStep || !step || !nextStep) {
45
43
  continue;
46
44
  }
47
- const previousPosition = previousStep.position, position = step.position, nextPosition = nextStep.position, stepTransformData = particle.trailTransform ? (step.transformData ?? defaultTransform) : defaultTransform, { distance: previousDistance } = getDistances(previousPosition, position), { distance: nextDistance } = getDistances(position, nextPosition);
48
- if (previousDistance > pathLength * double || nextDistance > pathLength * double) {
49
- continue;
50
- }
51
- if (Math.abs(previousPosition.x - position.x) > canvasSize.width * half ||
52
- Math.abs(previousPosition.y - position.y) > canvasSize.height * half ||
53
- Math.abs(position.x - nextPosition.x) > canvasSize.width * half ||
54
- Math.abs(position.y - nextPosition.y) > canvasSize.height * half) {
45
+ const previousPosition = previousStep.position, position = step.position, nextPosition = nextStep.position, stepTransformData = particle.trailTransform ? (step.transformData ?? defaultTransform) : defaultTransform;
46
+ if (step.break || previousStep.break || nextStep.break) {
55
47
  continue;
56
48
  }
57
49
  context.setTransform(stepTransformData.a, stepTransformData.b, stepTransformData.c, stepTransformData.d, position.x, position.y);
@@ -0,0 +1,5 @@
1
+ import { loadTrailEffect } from "./index.js";
2
+ const globalObject = globalThis;
3
+ globalObject.__tsParticlesInternals = globalObject.__tsParticlesInternals ?? {};
4
+ globalObject.loadTrailEffect = loadTrailEffect;
5
+ export * from "./index.js";
package/browser/index.js CHANGED
@@ -1,9 +1,9 @@
1
+ import { TrailDrawer } from "./TrailDrawer.js";
1
2
  export async function loadTrailEffect(engine) {
2
- engine.checkVersion("4.0.0-beta.12");
3
+ engine.checkVersion("4.0.0-beta.16");
3
4
  await engine.pluginManager.register(e => {
4
- e.pluginManager.addEffect("trail", async (container) => {
5
- const { TrailDrawer } = await import("./TrailDrawer.js");
6
- return new TrailDrawer(container);
5
+ e.pluginManager.addEffect("trail", container => {
6
+ return Promise.resolve(new TrailDrawer(container));
7
7
  });
8
8
  });
9
9
  }
@@ -0,0 +1,9 @@
1
+ export async function loadTrailEffect(engine) {
2
+ engine.checkVersion("4.0.0-beta.16");
3
+ await engine.pluginManager.register(e => {
4
+ e.pluginManager.addEffect("trail", async (container) => {
5
+ const { TrailDrawer } = await import("./TrailDrawer.js");
6
+ return new TrailDrawer(container);
7
+ });
8
+ });
9
+ }
@@ -1,4 +1,4 @@
1
- import { defaultAlpha, double, getDistances, getRangeValue, half, originPoint, } from "@tsparticles/engine";
1
+ import { defaultAlpha, double, getRangeValue, half, originPoint, } from "@tsparticles/engine";
2
2
  const minTrailLength = 3, trailLengthOffset = 1, minWidth = -1, firstIndex = 0, defaultLength = 10, loopTrailLengthOffset = 2, loopTrailLengthMinIndex = 0;
3
3
  const defaultTransform = {
4
4
  a: 1,
@@ -18,6 +18,7 @@ export class TrailDrawer {
18
18
  }
19
19
  const currentPos = drawPosition, pathLength = particle.trailLength * drawScale + drawRadius;
20
20
  trail.push({
21
+ break: particle.justWarped,
21
22
  color: context.fillStyle || context.strokeStyle,
22
23
  position: {
23
24
  x: currentPos.x,
@@ -32,10 +33,7 @@ export class TrailDrawer {
32
33
  if (trail.length > pathLengthFloor) {
33
34
  trail.splice(firstIndex, trail.length - pathLengthFloor);
34
35
  }
35
- const trailLength = Math.min(trail.length, pathLength), canvasSize = {
36
- width: container.canvas.size.width * drawScale + diameter,
37
- height: container.canvas.size.height * drawScale + diameter,
38
- };
36
+ const trailLength = Math.min(trail.length, pathLength);
39
37
  context.save();
40
38
  context.lineCap = "butt";
41
39
  context.lineJoin = "round";
@@ -44,14 +42,8 @@ export class TrailDrawer {
44
42
  if (!previousStep || !step || !nextStep) {
45
43
  continue;
46
44
  }
47
- const previousPosition = previousStep.position, position = step.position, nextPosition = nextStep.position, stepTransformData = particle.trailTransform ? (step.transformData ?? defaultTransform) : defaultTransform, { distance: previousDistance } = getDistances(previousPosition, position), { distance: nextDistance } = getDistances(position, nextPosition);
48
- if (previousDistance > pathLength * double || nextDistance > pathLength * double) {
49
- continue;
50
- }
51
- if (Math.abs(previousPosition.x - position.x) > canvasSize.width * half ||
52
- Math.abs(previousPosition.y - position.y) > canvasSize.height * half ||
53
- Math.abs(position.x - nextPosition.x) > canvasSize.width * half ||
54
- Math.abs(position.y - nextPosition.y) > canvasSize.height * half) {
45
+ const previousPosition = previousStep.position, position = step.position, nextPosition = nextStep.position, stepTransformData = particle.trailTransform ? (step.transformData ?? defaultTransform) : defaultTransform;
46
+ if (step.break || previousStep.break || nextStep.break) {
55
47
  continue;
56
48
  }
57
49
  context.setTransform(stepTransformData.a, stepTransformData.b, stepTransformData.c, stepTransformData.d, position.x, position.y);
package/cjs/browser.js ADDED
@@ -0,0 +1,5 @@
1
+ import { loadTrailEffect } from "./index.js";
2
+ const globalObject = globalThis;
3
+ globalObject.__tsParticlesInternals = globalObject.__tsParticlesInternals ?? {};
4
+ globalObject.loadTrailEffect = loadTrailEffect;
5
+ export * from "./index.js";
package/cjs/index.js CHANGED
@@ -1,9 +1,9 @@
1
+ import { TrailDrawer } from "./TrailDrawer.js";
1
2
  export async function loadTrailEffect(engine) {
2
- engine.checkVersion("4.0.0-beta.12");
3
+ engine.checkVersion("4.0.0-beta.16");
3
4
  await engine.pluginManager.register(e => {
4
- e.pluginManager.addEffect("trail", async (container) => {
5
- const { TrailDrawer } = await import("./TrailDrawer.js");
6
- return new TrailDrawer(container);
5
+ e.pluginManager.addEffect("trail", container => {
6
+ return Promise.resolve(new TrailDrawer(container));
7
7
  });
8
8
  });
9
9
  }
@@ -0,0 +1,9 @@
1
+ export async function loadTrailEffect(engine) {
2
+ engine.checkVersion("4.0.0-beta.16");
3
+ await engine.pluginManager.register(e => {
4
+ e.pluginManager.addEffect("trail", async (container) => {
5
+ const { TrailDrawer } = await import("./TrailDrawer.js");
6
+ return new TrailDrawer(container);
7
+ });
8
+ });
9
+ }
@@ -1,4 +1,4 @@
1
- import { defaultAlpha, double, getDistances, getRangeValue, half, originPoint, } from "@tsparticles/engine";
1
+ import { defaultAlpha, double, getRangeValue, half, originPoint, } from "@tsparticles/engine";
2
2
  const minTrailLength = 3, trailLengthOffset = 1, minWidth = -1, firstIndex = 0, defaultLength = 10, loopTrailLengthOffset = 2, loopTrailLengthMinIndex = 0;
3
3
  const defaultTransform = {
4
4
  a: 1,
@@ -18,6 +18,7 @@ export class TrailDrawer {
18
18
  }
19
19
  const currentPos = drawPosition, pathLength = particle.trailLength * drawScale + drawRadius;
20
20
  trail.push({
21
+ break: particle.justWarped,
21
22
  color: context.fillStyle || context.strokeStyle,
22
23
  position: {
23
24
  x: currentPos.x,
@@ -32,10 +33,7 @@ export class TrailDrawer {
32
33
  if (trail.length > pathLengthFloor) {
33
34
  trail.splice(firstIndex, trail.length - pathLengthFloor);
34
35
  }
35
- const trailLength = Math.min(trail.length, pathLength), canvasSize = {
36
- width: container.canvas.size.width * drawScale + diameter,
37
- height: container.canvas.size.height * drawScale + diameter,
38
- };
36
+ const trailLength = Math.min(trail.length, pathLength);
39
37
  context.save();
40
38
  context.lineCap = "butt";
41
39
  context.lineJoin = "round";
@@ -44,14 +42,8 @@ export class TrailDrawer {
44
42
  if (!previousStep || !step || !nextStep) {
45
43
  continue;
46
44
  }
47
- const previousPosition = previousStep.position, position = step.position, nextPosition = nextStep.position, stepTransformData = particle.trailTransform ? (step.transformData ?? defaultTransform) : defaultTransform, { distance: previousDistance } = getDistances(previousPosition, position), { distance: nextDistance } = getDistances(position, nextPosition);
48
- if (previousDistance > pathLength * double || nextDistance > pathLength * double) {
49
- continue;
50
- }
51
- if (Math.abs(previousPosition.x - position.x) > canvasSize.width * half ||
52
- Math.abs(previousPosition.y - position.y) > canvasSize.height * half ||
53
- Math.abs(position.x - nextPosition.x) > canvasSize.width * half ||
54
- Math.abs(position.y - nextPosition.y) > canvasSize.height * half) {
45
+ const previousPosition = previousStep.position, position = step.position, nextPosition = nextStep.position, stepTransformData = particle.trailTransform ? (step.transformData ?? defaultTransform) : defaultTransform;
46
+ if (step.break || previousStep.break || nextStep.break) {
55
47
  continue;
56
48
  }
57
49
  context.setTransform(stepTransformData.a, stepTransformData.b, stepTransformData.c, stepTransformData.d, position.x, position.y);
package/esm/browser.js ADDED
@@ -0,0 +1,5 @@
1
+ import { loadTrailEffect } from "./index.js";
2
+ const globalObject = globalThis;
3
+ globalObject.__tsParticlesInternals = globalObject.__tsParticlesInternals ?? {};
4
+ globalObject.loadTrailEffect = loadTrailEffect;
5
+ export * from "./index.js";
package/esm/index.js CHANGED
@@ -1,9 +1,9 @@
1
+ import { TrailDrawer } from "./TrailDrawer.js";
1
2
  export async function loadTrailEffect(engine) {
2
- engine.checkVersion("4.0.0-beta.12");
3
+ engine.checkVersion("4.0.0-beta.16");
3
4
  await engine.pluginManager.register(e => {
4
- e.pluginManager.addEffect("trail", async (container) => {
5
- const { TrailDrawer } = await import("./TrailDrawer.js");
6
- return new TrailDrawer(container);
5
+ e.pluginManager.addEffect("trail", container => {
6
+ return Promise.resolve(new TrailDrawer(container));
7
7
  });
8
8
  });
9
9
  }
@@ -0,0 +1,9 @@
1
+ export async function loadTrailEffect(engine) {
2
+ engine.checkVersion("4.0.0-beta.16");
3
+ await engine.pluginManager.register(e => {
4
+ e.pluginManager.addEffect("trail", async (container) => {
5
+ const { TrailDrawer } = await import("./TrailDrawer.js");
6
+ return new TrailDrawer(container);
7
+ });
8
+ });
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/effect-trail",
3
- "version": "4.0.0-beta.12",
3
+ "version": "4.0.0-beta.16",
4
4
  "description": "tsParticles trail effect",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -96,10 +96,17 @@
96
96
  "require": "./cjs/index.js",
97
97
  "default": "./esm/index.js"
98
98
  },
99
+ "./lazy": {
100
+ "types": "./types/index.lazy.d.ts",
101
+ "browser": "./browser/index.lazy.js",
102
+ "import": "./esm/index.lazy.js",
103
+ "require": "./cjs/index.lazy.js",
104
+ "default": "./esm/index.lazy.js"
105
+ },
99
106
  "./package.json": "./package.json"
100
107
  },
101
108
  "peerDependencies": {
102
- "@tsparticles/engine": "4.0.0-beta.12"
109
+ "@tsparticles/engine": "4.0.0-beta.16"
103
110
  },
104
111
  "publishConfig": {
105
112
  "access": "public"