@tsparticles/path-grid 4.0.4 → 4.1.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.
@@ -7,11 +7,11 @@ const dirs = [
7
7
  ], opposite = [2, 3, 0, 1], minLength = 0;
8
8
  export class GridPathGenerator {
9
9
  options;
10
- _container;
11
- _res;
10
+ #container;
11
+ #res;
12
12
  constructor(container) {
13
- this._container = container;
14
- this._res = Vector.origin;
13
+ this.#container = container;
14
+ this.#res = Vector.origin;
15
15
  this.options = {
16
16
  cellSize: 40,
17
17
  graph: undefined,
@@ -47,21 +47,21 @@ export class GridPathGenerator {
47
47
  p.velocity.x = 0;
48
48
  p.velocity.y = 0;
49
49
  const d = dirs[grid.direction];
50
- this._res.x = d.x * grid.speed;
51
- this._res.y = d.y * grid.speed;
52
- return this._res;
50
+ this.#res.x = d.x * grid.speed;
51
+ this.#res.y = d.y * grid.speed;
52
+ return this.#res;
53
53
  }
54
54
  init() {
55
- const source = this._container.actualOptions.particles.move.path.options;
55
+ const source = this.#container.actualOptions.particles.move.path.options;
56
56
  this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
57
57
  this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
58
58
  this.options.graph = source["graph"];
59
59
  if (this.options.autoMaze) {
60
- const canvas = this._container.canvas.size, cellSize = this.options.cellSize, size = {
60
+ const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
61
61
  width: Math.ceil(canvas.width / cellSize),
62
62
  height: Math.ceil(canvas.height / cellSize),
63
63
  };
64
- this.options.graph = this._generateMazeGraph(size);
64
+ this.options.graph = this.#generateMazeGraph(size);
65
65
  }
66
66
  }
67
67
  reset(p) {
@@ -69,7 +69,7 @@ export class GridPathGenerator {
69
69
  }
70
70
  update() {
71
71
  }
72
- _generateMazeGraph({ height, width }) {
72
+ #generateMazeGraph({ height, width }) {
73
73
  const graph = {}, visited = [];
74
74
  for (let y = 0; y < height; y++) {
75
75
  visited[y] = [];
package/browser/index.js CHANGED
@@ -2,7 +2,7 @@ import { ensureBaseMoverLoaded } from "@tsparticles/plugin-move";
2
2
  import { GridPathGenerator } from "./GridPathGenerator.js";
3
3
  export const gridPathName = "gridPathGenerator";
4
4
  export async function loadGridPath(engine) {
5
- engine.checkVersion("4.0.4");
5
+ engine.checkVersion("4.1.0");
6
6
  await engine.pluginManager.register((e) => {
7
7
  ensureBaseMoverLoaded(e);
8
8
  e.pluginManager.addPathGenerator?.(gridPathName, container => {
@@ -1,6 +1,6 @@
1
1
  export const gridPathName = "gridPathGenerator";
2
2
  export async function loadGridPath(engine) {
3
- engine.checkVersion("4.0.4");
3
+ engine.checkVersion("4.1.0");
4
4
  await engine.pluginManager.register(async (e) => {
5
5
  const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move/lazy");
6
6
  ensureBaseMoverLoaded(e);
@@ -7,11 +7,11 @@ const dirs = [
7
7
  ], opposite = [2, 3, 0, 1], minLength = 0;
8
8
  export class GridPathGenerator {
9
9
  options;
10
- _container;
11
- _res;
10
+ #container;
11
+ #res;
12
12
  constructor(container) {
13
- this._container = container;
14
- this._res = Vector.origin;
13
+ this.#container = container;
14
+ this.#res = Vector.origin;
15
15
  this.options = {
16
16
  cellSize: 40,
17
17
  graph: undefined,
@@ -47,21 +47,21 @@ export class GridPathGenerator {
47
47
  p.velocity.x = 0;
48
48
  p.velocity.y = 0;
49
49
  const d = dirs[grid.direction];
50
- this._res.x = d.x * grid.speed;
51
- this._res.y = d.y * grid.speed;
52
- return this._res;
50
+ this.#res.x = d.x * grid.speed;
51
+ this.#res.y = d.y * grid.speed;
52
+ return this.#res;
53
53
  }
54
54
  init() {
55
- const source = this._container.actualOptions.particles.move.path.options;
55
+ const source = this.#container.actualOptions.particles.move.path.options;
56
56
  this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
57
57
  this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
58
58
  this.options.graph = source["graph"];
59
59
  if (this.options.autoMaze) {
60
- const canvas = this._container.canvas.size, cellSize = this.options.cellSize, size = {
60
+ const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
61
61
  width: Math.ceil(canvas.width / cellSize),
62
62
  height: Math.ceil(canvas.height / cellSize),
63
63
  };
64
- this.options.graph = this._generateMazeGraph(size);
64
+ this.options.graph = this.#generateMazeGraph(size);
65
65
  }
66
66
  }
67
67
  reset(p) {
@@ -69,7 +69,7 @@ export class GridPathGenerator {
69
69
  }
70
70
  update() {
71
71
  }
72
- _generateMazeGraph({ height, width }) {
72
+ #generateMazeGraph({ height, width }) {
73
73
  const graph = {}, visited = [];
74
74
  for (let y = 0; y < height; y++) {
75
75
  visited[y] = [];
package/cjs/index.js CHANGED
@@ -2,7 +2,7 @@ import { ensureBaseMoverLoaded } from "@tsparticles/plugin-move";
2
2
  import { GridPathGenerator } from "./GridPathGenerator.js";
3
3
  export const gridPathName = "gridPathGenerator";
4
4
  export async function loadGridPath(engine) {
5
- engine.checkVersion("4.0.4");
5
+ engine.checkVersion("4.1.0");
6
6
  await engine.pluginManager.register((e) => {
7
7
  ensureBaseMoverLoaded(e);
8
8
  e.pluginManager.addPathGenerator?.(gridPathName, container => {
package/cjs/index.lazy.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export const gridPathName = "gridPathGenerator";
2
2
  export async function loadGridPath(engine) {
3
- engine.checkVersion("4.0.4");
3
+ engine.checkVersion("4.1.0");
4
4
  await engine.pluginManager.register(async (e) => {
5
5
  const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move/lazy");
6
6
  ensureBaseMoverLoaded(e);
@@ -7,11 +7,11 @@ const dirs = [
7
7
  ], opposite = [2, 3, 0, 1], minLength = 0;
8
8
  export class GridPathGenerator {
9
9
  options;
10
- _container;
11
- _res;
10
+ #container;
11
+ #res;
12
12
  constructor(container) {
13
- this._container = container;
14
- this._res = Vector.origin;
13
+ this.#container = container;
14
+ this.#res = Vector.origin;
15
15
  this.options = {
16
16
  cellSize: 40,
17
17
  graph: undefined,
@@ -47,21 +47,21 @@ export class GridPathGenerator {
47
47
  p.velocity.x = 0;
48
48
  p.velocity.y = 0;
49
49
  const d = dirs[grid.direction];
50
- this._res.x = d.x * grid.speed;
51
- this._res.y = d.y * grid.speed;
52
- return this._res;
50
+ this.#res.x = d.x * grid.speed;
51
+ this.#res.y = d.y * grid.speed;
52
+ return this.#res;
53
53
  }
54
54
  init() {
55
- const source = this._container.actualOptions.particles.move.path.options;
55
+ const source = this.#container.actualOptions.particles.move.path.options;
56
56
  this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
57
57
  this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
58
58
  this.options.graph = source["graph"];
59
59
  if (this.options.autoMaze) {
60
- const canvas = this._container.canvas.size, cellSize = this.options.cellSize, size = {
60
+ const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
61
61
  width: Math.ceil(canvas.width / cellSize),
62
62
  height: Math.ceil(canvas.height / cellSize),
63
63
  };
64
- this.options.graph = this._generateMazeGraph(size);
64
+ this.options.graph = this.#generateMazeGraph(size);
65
65
  }
66
66
  }
67
67
  reset(p) {
@@ -69,7 +69,7 @@ export class GridPathGenerator {
69
69
  }
70
70
  update() {
71
71
  }
72
- _generateMazeGraph({ height, width }) {
72
+ #generateMazeGraph({ height, width }) {
73
73
  const graph = {}, visited = [];
74
74
  for (let y = 0; y < height; y++) {
75
75
  visited[y] = [];
package/esm/index.js CHANGED
@@ -2,7 +2,7 @@ import { ensureBaseMoverLoaded } from "@tsparticles/plugin-move";
2
2
  import { GridPathGenerator } from "./GridPathGenerator.js";
3
3
  export const gridPathName = "gridPathGenerator";
4
4
  export async function loadGridPath(engine) {
5
- engine.checkVersion("4.0.4");
5
+ engine.checkVersion("4.1.0");
6
6
  await engine.pluginManager.register((e) => {
7
7
  ensureBaseMoverLoaded(e);
8
8
  e.pluginManager.addPathGenerator?.(gridPathName, container => {
package/esm/index.lazy.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export const gridPathName = "gridPathGenerator";
2
2
  export async function loadGridPath(engine) {
3
- engine.checkVersion("4.0.4");
3
+ engine.checkVersion("4.1.0");
4
4
  await engine.pluginManager.register(async (e) => {
5
5
  const { ensureBaseMoverLoaded } = await import("@tsparticles/plugin-move/lazy");
6
6
  ensureBaseMoverLoaded(e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/path-grid",
3
- "version": "4.0.4",
3
+ "version": "4.1.0",
4
4
  "description": "tsParticles grid path",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -110,8 +110,8 @@
110
110
  "./package.json": "./package.json"
111
111
  },
112
112
  "peerDependencies": {
113
- "@tsparticles/engine": "4.0.4",
114
- "@tsparticles/plugin-move": "4.0.4"
113
+ "@tsparticles/engine": "4.1.0",
114
+ "@tsparticles/plugin-move": "4.1.0"
115
115
  },
116
116
  "type": "module"
117
117
  }
@@ -1,5 +1,5 @@
1
1
  (function(g){g.__tsParticlesInternals=g.__tsParticlesInternals||{};g.__tsParticlesInternals.bundles=g.__tsParticlesInternals.bundles||{};g.__tsParticlesInternals.effects=g.__tsParticlesInternals.effects||{};g.__tsParticlesInternals.engine=g.__tsParticlesInternals.engine||{};g.__tsParticlesInternals.interactions=g.__tsParticlesInternals.interactions||{};g.__tsParticlesInternals.palettes=g.__tsParticlesInternals.palettes||{};g.__tsParticlesInternals.paths=g.__tsParticlesInternals.paths||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins.emittersShapes=g.__tsParticlesInternals.plugins.emittersShapes||{};g.__tsParticlesInternals.presets=g.__tsParticlesInternals.presets||{};g.__tsParticlesInternals.shapes=g.__tsParticlesInternals.shapes||{};g.__tsParticlesInternals.updaters=g.__tsParticlesInternals.updaters||{};g.__tsParticlesInternals.utils=g.__tsParticlesInternals.utils||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas.utils=g.__tsParticlesInternals.canvas.utils||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path.utils=g.__tsParticlesInternals.path.utils||{};var __tsProxyFactory=typeof Proxy!=="undefined"?function(obj){return new Proxy(obj,{get:function(target,key){if(!(key in target)){target[key]={};}return target[key];}});}:function(obj){return obj;};g.__tsParticlesInternals.bundles=__tsProxyFactory(g.__tsParticlesInternals.bundles);g.__tsParticlesInternals.effects=__tsProxyFactory(g.__tsParticlesInternals.effects);g.__tsParticlesInternals.interactions=__tsProxyFactory(g.__tsParticlesInternals.interactions);g.__tsParticlesInternals.palettes=__tsProxyFactory(g.__tsParticlesInternals.palettes);g.__tsParticlesInternals.paths=__tsProxyFactory(g.__tsParticlesInternals.paths);g.__tsParticlesInternals.plugins=__tsProxyFactory(g.__tsParticlesInternals.plugins);g.__tsParticlesInternals.plugins.emittersShapes=__tsProxyFactory(g.__tsParticlesInternals.plugins.emittersShapes);g.__tsParticlesInternals.presets=__tsProxyFactory(g.__tsParticlesInternals.presets);g.__tsParticlesInternals.shapes=__tsProxyFactory(g.__tsParticlesInternals.shapes);g.__tsParticlesInternals.updaters=__tsProxyFactory(g.__tsParticlesInternals.updaters);g.__tsParticlesInternals.utils=__tsProxyFactory(g.__tsParticlesInternals.utils);g.__tsParticlesInternals.canvas=__tsProxyFactory(g.__tsParticlesInternals.canvas);g.__tsParticlesInternals.path=__tsProxyFactory(g.__tsParticlesInternals.path);g.tsparticlesInternalExports=g.tsparticlesInternalExports||{};})(typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:this);
2
- /* Path v4.0.4 */
2
+ /* Path v4.1.0 */
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tsparticles/plugin-move'), require('@tsparticles/engine')) :
5
5
  typeof define === 'function' && define.amd ? define(['exports', '@tsparticles/plugin-move', '@tsparticles/engine'], factory) :
@@ -14,11 +14,11 @@
14
14
  ], opposite = [2, 3, 0, 1], minLength = 0;
15
15
  class GridPathGenerator {
16
16
  options;
17
- _container;
18
- _res;
17
+ #container;
18
+ #res;
19
19
  constructor(container) {
20
- this._container = container;
21
- this._res = engine.Vector.origin;
20
+ this.#container = container;
21
+ this.#res = engine.Vector.origin;
22
22
  this.options = {
23
23
  cellSize: 40,
24
24
  graph: undefined,
@@ -54,21 +54,21 @@
54
54
  p.velocity.x = 0;
55
55
  p.velocity.y = 0;
56
56
  const d = dirs[grid.direction];
57
- this._res.x = d.x * grid.speed;
58
- this._res.y = d.y * grid.speed;
59
- return this._res;
57
+ this.#res.x = d.x * grid.speed;
58
+ this.#res.y = d.y * grid.speed;
59
+ return this.#res;
60
60
  }
61
61
  init() {
62
- const source = this._container.actualOptions.particles.move.path.options;
62
+ const source = this.#container.actualOptions.particles.move.path.options;
63
63
  this.options.cellSize = source["cellSize"] ?? this.options.cellSize;
64
64
  this.options.autoMaze = source["autoMaze"] ?? this.options.autoMaze;
65
65
  this.options.graph = source["graph"];
66
66
  if (this.options.autoMaze) {
67
- const canvas = this._container.canvas.size, cellSize = this.options.cellSize, size = {
67
+ const canvas = this.#container.canvas.size, cellSize = this.options.cellSize, size = {
68
68
  width: Math.ceil(canvas.width / cellSize),
69
69
  height: Math.ceil(canvas.height / cellSize),
70
70
  };
71
- this.options.graph = this._generateMazeGraph(size);
71
+ this.options.graph = this.#generateMazeGraph(size);
72
72
  }
73
73
  }
74
74
  reset(p) {
@@ -76,7 +76,7 @@
76
76
  }
77
77
  update() {
78
78
  }
79
- _generateMazeGraph({ height, width }) {
79
+ #generateMazeGraph({ height, width }) {
80
80
  const graph = {}, visited = [];
81
81
  for (let y = 0; y < height; y++) {
82
82
  visited[y] = [];
@@ -118,7 +118,7 @@
118
118
 
119
119
  const gridPathName = "gridPathGenerator";
120
120
  async function loadGridPath(engine) {
121
- engine.checkVersion("4.0.4");
121
+ engine.checkVersion("4.1.0");
122
122
  await engine.pluginManager.register((e) => {
123
123
  pluginMove.ensureBaseMoverLoaded(e);
124
124
  e.pluginManager.addPathGenerator?.(gridPathName, container => {
@@ -1 +1 @@
1
- !function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-move"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-move","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.paths.grid=t.__tsParticlesInternals.paths.grid||{}),t.__tsParticlesInternals.plugins.move,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";const n=[e.Vector.create(e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,e.identity),e.Vector.create(-e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,-e.identity)],a=[2,3,0,1];class i{options;_container;_res;constructor(t){this._container=t,this._res=e.Vector.origin,this.options={cellSize:40,graph:void 0,autoMaze:!1}}generate(t){const s=this.options.cellSize;t.grid??={direction:Math.trunc(e.getRandom()*n.length),speed:t.velocity.length,cellPosition:{x:Math.floor(t.position.x/s),y:Math.floor(t.position.y/s)}};const a=t.grid,i={x:Math.floor(t.position.x/s),y:Math.floor(t.position.y/s)};if(i.x!==a.cellPosition.x||i.y!==a.cellPosition.y){a.cellPosition.x=i.x,a.cellPosition.y=i.y;const t=`${i.x},${i.y}`,s=this.options.graph?.[t];if(s&&s.length>0)a.direction=s[Math.trunc(e.getRandom()*s.length)];else if(!this.options.graph){const t=Math.trunc(3*e.getRandom())-1;a.direction=(a.direction+t+4)%n.length}}t.velocity.x=0,t.velocity.y=0;const r=n[a.direction];return this._res.x=r.x*a.speed,this._res.y=r.y*a.speed,this._res}init(){const t=this._container.actualOptions.particles.move.path.options;if(this.options.cellSize=t.cellSize??this.options.cellSize,this.options.autoMaze=t.autoMaze??this.options.autoMaze,this.options.graph=t.graph,this.options.autoMaze){const t=this._container.canvas.size,s=this.options.cellSize,e={width:Math.ceil(t.width/s),height:Math.ceil(t.height/s)};this.options.graph=this._generateMazeGraph(e)}}reset(t){delete t.grid}update(){}_generateMazeGraph({height:t,width:s}){const n={},i=[];for(let s=0;s<t;s++)i[s]=[];const r=[{x:e.originPoint.x,y:e.originPoint.y}];for(;r.length>0;){const{x:l,y:o}=r[r.length-1];i[o][l]||(i[o][l]=!0);const c=[0,1,2,3].sort(()=>e.getRandom()-.5);let _=!1;for(const e of c){const c={x:l+(0===e?1:2===e?-1:0),y:o+(1===e?1:3===e?-1:0)};if(!(c.x<0||c.y<0||c.x>=s||c.y>=t)&&!i[c.y][c.x]){const t=`${l},${o}`,s=`${c.x},${c.y}`;n[t]??=[],n[s]??=[],n[t].push(e),n[s].push(a[e]),r.push(c),_=!0;break}}_||r.pop()}return n}}const r="gridPathGenerator";async function l(t){t.checkVersion("4.0.4"),await t.pluginManager.register(t=>{s.ensureBaseMoverLoaded(t),t.pluginManager.addPathGenerator?.(r,t=>Promise.resolve(new i(t)))})}const o=globalThis;o.__tsParticlesInternals=o.__tsParticlesInternals??{},o.loadGridPath=l,t.gridPathName=r,t.loadGridPath=l}),Object.assign(globalThis.window||globalThis,{loadGridPath:(globalThis.__tsParticlesInternals.paths.grid||{}).loadGridPath}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
1
+ !function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-move"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-move","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.paths.grid=t.__tsParticlesInternals.paths.grid||{}),t.__tsParticlesInternals.plugins.move,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";const n=[e.Vector.create(e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,e.identity),e.Vector.create(-e.identity,e.originPoint.y),e.Vector.create(e.originPoint.x,-e.identity)],a=[2,3,0,1];class i{options;#t;#s;constructor(t){this.#t=t,this.#s=e.Vector.origin,this.options={cellSize:40,graph:void 0,autoMaze:!1}}generate(t){const s=this.options.cellSize;t.grid??={direction:Math.trunc(e.getRandom()*n.length),speed:t.velocity.length,cellPosition:{x:Math.floor(t.position.x/s),y:Math.floor(t.position.y/s)}};const a=t.grid,i={x:Math.floor(t.position.x/s),y:Math.floor(t.position.y/s)};if(i.x!==a.cellPosition.x||i.y!==a.cellPosition.y){a.cellPosition.x=i.x,a.cellPosition.y=i.y;const t=`${i.x},${i.y}`,s=this.options.graph?.[t];if(s&&s.length>0)a.direction=s[Math.trunc(e.getRandom()*s.length)];else if(!this.options.graph){const t=Math.trunc(3*e.getRandom())-1;a.direction=(a.direction+t+4)%n.length}}t.velocity.x=0,t.velocity.y=0;const r=n[a.direction];return this.#s.x=r.x*a.speed,this.#s.y=r.y*a.speed,this.#s}init(){const t=this.#t.actualOptions.particles.move.path.options;if(this.options.cellSize=t.cellSize??this.options.cellSize,this.options.autoMaze=t.autoMaze??this.options.autoMaze,this.options.graph=t.graph,this.options.autoMaze){const t=this.#t.canvas.size,s=this.options.cellSize,e={width:Math.ceil(t.width/s),height:Math.ceil(t.height/s)};this.options.graph=this.#e(e)}}reset(t){delete t.grid}update(){}#e({height:t,width:s}){const n={},i=[];for(let s=0;s<t;s++)i[s]=[];const r=[{x:e.originPoint.x,y:e.originPoint.y}];for(;r.length>0;){const{x:l,y:o}=r[r.length-1];i[o][l]||(i[o][l]=!0);const c=[0,1,2,3].sort(()=>e.getRandom()-.5);let _=!1;for(const e of c){const c={x:l+(0===e?1:2===e?-1:0),y:o+(1===e?1:3===e?-1:0)};if(!(c.x<0||c.y<0||c.x>=s||c.y>=t)&&!i[c.y][c.x]){const t=`${l},${o}`,s=`${c.x},${c.y}`;n[t]??=[],n[s]??=[],n[t].push(e),n[s].push(a[e]),r.push(c),_=!0;break}}_||r.pop()}return n}}const r="gridPathGenerator";async function l(t){t.checkVersion("4.1.0"),await t.pluginManager.register(t=>{s.ensureBaseMoverLoaded(t),t.pluginManager.addPathGenerator?.(r,t=>Promise.resolve(new i(t)))})}const o=globalThis;o.__tsParticlesInternals=o.__tsParticlesInternals??{},o.loadGridPath=l,t.gridPathName=r,t.loadGridPath=l}),Object.assign(globalThis.window||globalThis,{loadGridPath:(globalThis.__tsParticlesInternals.paths.grid||{}).loadGridPath}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
@@ -3,13 +3,11 @@ import type { GridPathParticle } from "./GridPathParticle.js";
3
3
  import type { IGridPathOptions } from "./IGridPathOptions.js";
4
4
  import { type IMovePathGenerator } from "@tsparticles/plugin-move";
5
5
  export declare class GridPathGenerator implements IMovePathGenerator {
6
+ #private;
6
7
  readonly options: IGridPathOptions;
7
- private readonly _container;
8
- private readonly _res;
9
8
  constructor(container: Container);
10
9
  generate(p: GridPathParticle): Vector;
11
10
  init(): void;
12
11
  reset(p: GridPathParticle): void;
13
12
  update(): void;
14
- private _generateMazeGraph;
15
13
  }