@tsparticles/path-curves 3.2.1 → 3.3.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.
package/988.min.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 988.min.js.LICENSE.txt */
2
+ (this.webpackChunk_tsparticles_path_curves=this.webpackChunk_tsparticles_path_curves||[]).push([[988],{988:(e,n,t)=>{t.d(n,{CurvesPathGenerator:()=>r});var o=t(303);const c=2*Math.PI;class r{constructor(){this.options={rndFunc:null,period:100,nbHarmonics:2,attenHarmonics:.8,lowValue:-.03,highValue:.03}}generate(e){if(!e.pathGen){const n=this.options;e.pathGen=function(e,n,t,c,r=0,i=1){const a=[],l=[],u=[],s=[],h=[],p=e??o.getRandom;let d=0;t<1&&(t=1);for(let e=1;e<=t;++e)a[e]=p(),l[e]=p(),u[e]=1===e?1:u[e-1]*c,d+=u[e],s[e]=e/n,h[e]=p();return u.forEach(((e,n)=>u[n]=e/d*(i-r))),()=>{let e,n,o=0;for(let c=t;c>=1;--c)e=h[c]+=s[c],h[c]>=1&&(e=h[c]-=1,a[c]=l[c],l[c]=p()),n=e**2*(3-2*e),o+=(a[c]*(1-n)+l[c]*n)*u[c];return o+r}}(n.rndFunc,n.period,n.nbHarmonics,n.attenHarmonics,n.lowValue,n.highValue)}return e.curveVelocity?(e.curveVelocity.length+=.01,e.curveVelocity.angle=(e.curveVelocity.angle+e.pathGen())%c):(e.curveVelocity=o.Vector.origin,e.curveVelocity.length=.6*(0,o.getRandom)()+.8,e.curveVelocity.angle=(0,o.getRandom)()*c),e.velocity.x=0,e.velocity.y=0,e.curveVelocity}init(e){const n=e.actualOptions.particles.move.path.options,{options:t}=this;(0,o.isFunction)(n.rndFunc)?t.rndFunc=n.rndFunc:(0,o.isString)(n.rndFunc)&&(t.rndFunc=window[n.rndFunc]??this.options.rndFunc),t.period=n.period??t.period,t.nbHarmonics=n.nbHarmonics??t.nbHarmonics,t.attenHarmonics=n.attenHarmonics??t.attenHarmonics,t.lowValue=n.lowValue??t.lowValue,t.highValue=n.highValue??t.highValue}reset(e){delete e.pathGen,delete e.curveVelocity}update(){}}}}]);
@@ -0,0 +1 @@
1
+ /*! tsParticles Curves Path v3.3.0 by Matteo Bruni */
@@ -1,4 +1,5 @@
1
1
  import { Vector, getRandom, isFunction, isString } from "@tsparticles/engine";
2
+ import { CurvesPathGen } from "./Curves.js";
2
3
  const double = 2, doublePI = Math.PI * double;
3
4
  function randomVelocity() {
4
5
  const offset = 0.8, factor = 0.6;
@@ -15,9 +16,9 @@ export class CurvesPathGenerator {
15
16
  highValue: 0.03,
16
17
  };
17
18
  }
18
- async generate(p) {
19
+ generate(p) {
19
20
  if (!p.pathGen) {
20
- const options = this.options, { CurvesPathGen } = await import("./Curves.js");
21
+ const options = this.options;
21
22
  p.pathGen = CurvesPathGen(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);
22
23
  }
23
24
  if (!p.curveVelocity) {
@@ -33,7 +34,7 @@ export class CurvesPathGenerator {
33
34
  p.velocity.y = 0;
34
35
  return p.curveVelocity;
35
36
  }
36
- async init(container) {
37
+ init(container) {
37
38
  const sourceOptions = container.actualOptions.particles.move.path.options, { options } = this;
38
39
  if (isFunction(sourceOptions.rndFunc)) {
39
40
  options.rndFunc = sourceOptions.rndFunc;
@@ -47,7 +48,6 @@ export class CurvesPathGenerator {
47
48
  options.attenHarmonics = sourceOptions.attenHarmonics ?? options.attenHarmonics;
48
49
  options.lowValue = sourceOptions.lowValue ?? options.lowValue;
49
50
  options.highValue = sourceOptions.highValue ?? options.highValue;
50
- await Promise.resolve();
51
51
  }
52
52
  reset(particle) {
53
53
  delete particle.pathGen;
@@ -1,30 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.CurvesPathGenerator = void 0;
27
4
  const engine_1 = require("@tsparticles/engine");
5
+ const Curves_js_1 = require("./Curves.js");
28
6
  const double = 2, doublePI = Math.PI * double;
29
7
  function randomVelocity() {
30
8
  const offset = 0.8, factor = 0.6;
@@ -41,10 +19,10 @@ class CurvesPathGenerator {
41
19
  highValue: 0.03,
42
20
  };
43
21
  }
44
- async generate(p) {
22
+ generate(p) {
45
23
  if (!p.pathGen) {
46
- const options = this.options, { CurvesPathGen } = await Promise.resolve().then(() => __importStar(require("./Curves.js")));
47
- p.pathGen = CurvesPathGen(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);
24
+ const options = this.options;
25
+ p.pathGen = (0, Curves_js_1.CurvesPathGen)(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);
48
26
  }
49
27
  if (!p.curveVelocity) {
50
28
  p.curveVelocity = engine_1.Vector.origin;
@@ -59,7 +37,7 @@ class CurvesPathGenerator {
59
37
  p.velocity.y = 0;
60
38
  return p.curveVelocity;
61
39
  }
62
- async init(container) {
40
+ init(container) {
63
41
  const sourceOptions = container.actualOptions.particles.move.path.options, { options } = this;
64
42
  if ((0, engine_1.isFunction)(sourceOptions.rndFunc)) {
65
43
  options.rndFunc = sourceOptions.rndFunc;
@@ -73,7 +51,6 @@ class CurvesPathGenerator {
73
51
  options.attenHarmonics = sourceOptions.attenHarmonics ?? options.attenHarmonics;
74
52
  options.lowValue = sourceOptions.lowValue ?? options.lowValue;
75
53
  options.highValue = sourceOptions.highValue ?? options.highValue;
76
- await Promise.resolve();
77
54
  }
78
55
  reset(particle) {
79
56
  delete particle.pathGen;
package/cjs/index.js CHANGED
@@ -1,32 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.loadCurvesPath = exports.curvesPathName = void 0;
27
4
  exports.curvesPathName = "curvesPathGenerator";
28
5
  async function loadCurvesPath(engine, refresh = true) {
29
- const { CurvesPathGenerator } = await Promise.resolve().then(() => __importStar(require("./CurvesPathGenerator.js")));
6
+ const { CurvesPathGenerator } = await import("./CurvesPathGenerator.js");
30
7
  await engine.addPathGenerator(exports.curvesPathName, new CurvesPathGenerator(), refresh);
31
8
  }
32
9
  exports.loadCurvesPath = loadCurvesPath;
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -17,13 +17,23 @@
17
17
  */
18
18
  (this["webpackChunk_tsparticles_path_curves"] = this["webpackChunk_tsparticles_path_curves"] || []).push([["dist_browser_CurvesPathGenerator_js"],{
19
19
 
20
+ /***/ "./dist/browser/Curves.js":
21
+ /*!********************************!*\
22
+ !*** ./dist/browser/Curves.js ***!
23
+ \********************************/
24
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CurvesPathGen: () => (/* binding */ CurvesPathGen)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction CurvesPathGen(rndFunc, period, nbHarmonics, attenHarmonics, lowValue = 0, highValue = 1) {\n const arP0 = [],\n arP1 = [],\n amplitudes = [],\n increments = [],\n phases = [],\n randomFunc = rndFunc ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom;\n let globAmplitude = 0;\n if (nbHarmonics < 1) nbHarmonics = 1;\n for (let kh = 1; kh <= nbHarmonics; ++kh) {\n arP0[kh] = randomFunc();\n arP1[kh] = randomFunc();\n amplitudes[kh] = kh === 1 ? 1 : amplitudes[kh - 1] * attenHarmonics;\n globAmplitude += amplitudes[kh];\n increments[kh] = kh / period;\n phases[kh] = randomFunc();\n }\n amplitudes.forEach((value, kh) => amplitudes[kh] = value / globAmplitude * (highValue - lowValue));\n return () => {\n let pf,\n pfl,\n signal = 0;\n for (let kh = nbHarmonics; kh >= 1; --kh) {\n pf = phases[kh] += increments[kh];\n if (phases[kh] >= 1) {\n pf = phases[kh] -= 1;\n arP0[kh] = arP1[kh];\n arP1[kh] = randomFunc();\n }\n pfl = pf ** 2 * (3 - 2 * pf);\n signal += (arP0[kh] * (1 - pfl) + arP1[kh] * pfl) * amplitudes[kh];\n }\n return signal + lowValue;\n };\n}\n\n//# sourceURL=webpack://@tsparticles/path-curves/./dist/browser/Curves.js?");
27
+
28
+ /***/ }),
29
+
20
30
  /***/ "./dist/browser/CurvesPathGenerator.js":
21
31
  /*!*********************************************!*\
22
32
  !*** ./dist/browser/CurvesPathGenerator.js ***!
23
33
  \*********************************************/
24
34
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
25
35
 
26
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CurvesPathGenerator: () => (/* binding */ CurvesPathGenerator)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nconst double = 2,\n doublePI = Math.PI * double;\nfunction randomVelocity() {\n const offset = 0.8,\n factor = 0.6;\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * factor + offset;\n}\nclass CurvesPathGenerator {\n constructor() {\n this.options = {\n rndFunc: null,\n period: 100,\n nbHarmonics: 2,\n attenHarmonics: 0.8,\n lowValue: -0.03,\n highValue: 0.03\n };\n }\n async generate(p) {\n if (!p.pathGen) {\n const options = this.options,\n {\n CurvesPathGen\n } = await __webpack_require__.e(/*! import() */ \"dist_browser_Curves_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Curves.js */ \"./dist/browser/Curves.js\"));\n p.pathGen = CurvesPathGen(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);\n }\n if (!p.curveVelocity) {\n p.curveVelocity = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n p.curveVelocity.length = randomVelocity();\n p.curveVelocity.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * doublePI;\n } else {\n p.curveVelocity.length += 0.01;\n p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) % doublePI;\n }\n p.velocity.x = 0;\n p.velocity.y = 0;\n return p.curveVelocity;\n }\n async init(container) {\n const sourceOptions = container.actualOptions.particles.move.path.options,\n {\n options\n } = this;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(sourceOptions.rndFunc)) {\n options.rndFunc = sourceOptions.rndFunc;\n } else if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(sourceOptions.rndFunc)) {\n options.rndFunc = window[sourceOptions.rndFunc] ?? this.options.rndFunc;\n }\n options.period = sourceOptions.period ?? options.period;\n options.nbHarmonics = sourceOptions.nbHarmonics ?? options.nbHarmonics;\n options.attenHarmonics = sourceOptions.attenHarmonics ?? options.attenHarmonics;\n options.lowValue = sourceOptions.lowValue ?? options.lowValue;\n options.highValue = sourceOptions.highValue ?? options.highValue;\n await Promise.resolve();\n }\n reset(particle) {\n delete particle.pathGen;\n delete particle.curveVelocity;\n }\n update() {}\n}\n\n//# sourceURL=webpack://@tsparticles/path-curves/./dist/browser/CurvesPathGenerator.js?");
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CurvesPathGenerator: () => (/* binding */ CurvesPathGenerator)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Curves_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Curves.js */ \"./dist/browser/Curves.js\");\n\n\nconst double = 2,\n doublePI = Math.PI * double;\nfunction randomVelocity() {\n const offset = 0.8,\n factor = 0.6;\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * factor + offset;\n}\nclass CurvesPathGenerator {\n constructor() {\n this.options = {\n rndFunc: null,\n period: 100,\n nbHarmonics: 2,\n attenHarmonics: 0.8,\n lowValue: -0.03,\n highValue: 0.03\n };\n }\n generate(p) {\n if (!p.pathGen) {\n const options = this.options;\n p.pathGen = (0,_Curves_js__WEBPACK_IMPORTED_MODULE_1__.CurvesPathGen)(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);\n }\n if (!p.curveVelocity) {\n p.curveVelocity = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n p.curveVelocity.length = randomVelocity();\n p.curveVelocity.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * doublePI;\n } else {\n p.curveVelocity.length += 0.01;\n p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) % doublePI;\n }\n p.velocity.x = 0;\n p.velocity.y = 0;\n return p.curveVelocity;\n }\n init(container) {\n const sourceOptions = container.actualOptions.particles.move.path.options,\n {\n options\n } = this;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(sourceOptions.rndFunc)) {\n options.rndFunc = sourceOptions.rndFunc;\n } else if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(sourceOptions.rndFunc)) {\n options.rndFunc = window[sourceOptions.rndFunc] ?? this.options.rndFunc;\n }\n options.period = sourceOptions.period ?? options.period;\n options.nbHarmonics = sourceOptions.nbHarmonics ?? options.nbHarmonics;\n options.attenHarmonics = sourceOptions.attenHarmonics ?? options.attenHarmonics;\n options.lowValue = sourceOptions.lowValue ?? options.lowValue;\n options.highValue = sourceOptions.highValue ?? options.highValue;\n }\n reset(particle) {\n delete particle.pathGen;\n delete particle.curveVelocity;\n }\n update() {}\n}\n\n//# sourceURL=webpack://@tsparticles/path-curves/./dist/browser/CurvesPathGenerator.js?");
27
37
 
28
38
  /***/ })
29
39
 
@@ -1,4 +1,5 @@
1
1
  import { Vector, getRandom, isFunction, isString } from "@tsparticles/engine";
2
+ import { CurvesPathGen } from "./Curves.js";
2
3
  const double = 2, doublePI = Math.PI * double;
3
4
  function randomVelocity() {
4
5
  const offset = 0.8, factor = 0.6;
@@ -15,9 +16,9 @@ export class CurvesPathGenerator {
15
16
  highValue: 0.03,
16
17
  };
17
18
  }
18
- async generate(p) {
19
+ generate(p) {
19
20
  if (!p.pathGen) {
20
- const options = this.options, { CurvesPathGen } = await import("./Curves.js");
21
+ const options = this.options;
21
22
  p.pathGen = CurvesPathGen(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);
22
23
  }
23
24
  if (!p.curveVelocity) {
@@ -33,7 +34,7 @@ export class CurvesPathGenerator {
33
34
  p.velocity.y = 0;
34
35
  return p.curveVelocity;
35
36
  }
36
- async init(container) {
37
+ init(container) {
37
38
  const sourceOptions = container.actualOptions.particles.move.path.options, { options } = this;
38
39
  if (isFunction(sourceOptions.rndFunc)) {
39
40
  options.rndFunc = sourceOptions.rndFunc;
@@ -47,7 +48,6 @@ export class CurvesPathGenerator {
47
48
  options.attenHarmonics = sourceOptions.attenHarmonics ?? options.attenHarmonics;
48
49
  options.lowValue = sourceOptions.lowValue ?? options.lowValue;
49
50
  options.highValue = sourceOptions.highValue ?? options.highValue;
50
- await Promise.resolve();
51
51
  }
52
52
  reset(particle) {
53
53
  delete particle.pathGen;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/path-curves",
3
- "version": "3.2.1",
3
+ "version": "3.3.0",
4
4
  "description": "tsParticles curves path",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -104,6 +104,6 @@
104
104
  "./package.json": "./package.json"
105
105
  },
106
106
  "dependencies": {
107
- "@tsparticles/engine": "^3.2.1"
107
+ "@tsparticles/engine": "^3.3.0"
108
108
  }
109
109
  }
package/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@tsparticles/path-curves [31 Jan 2024 at 09:50]</title>
6
+ <title>@tsparticles/path-curves [27 Feb 2024 at 12:16]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -210,7 +210,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__;
210
210
  /******/ var scripts = document.getElementsByTagName("script");
211
211
  /******/ if(scripts.length) {
212
212
  /******/ var i = scripts.length - 1;
213
- /******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;
213
+ /******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
214
214
  /******/ }
215
215
  /******/ }
216
216
  /******/ }
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.path.curves.min.js.LICENSE.txt */
2
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,(e=>(()=>{var t,r,o={533:t=>{t.exports=e}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return o[e](r,r.exports,a),r.exports}a.m=o,a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((t,r)=>(a.f[r](e,t),t)),[])),a.u=e=>e+".min.js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="@tsparticles/path-curves:",a.l=(e,o,n,i)=>{if(t[e])t[e].push(o);else{var s,c;if(void 0!==n)for(var u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var p=u[l];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==r+n){s=p;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",r+n),s.src=e),t[e]=[o];var d=(r,o)=>{s.onerror=s.onload=null,clearTimeout(f);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),c&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&!e;)e=r[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{var e={85:0};a.f.j=(t,r)=>{var o=a.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else{var n=new Promise(((r,n)=>o=e[t]=[r,n]));r.push(o[2]=n);var i=a.p+a.u(t),s=new Error;a.l(i,(r=>{if(a.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+i+")",s.name="ChunkLoadError",s.type=n,s.request=i,o[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var o,n,i=r[0],s=r[1],c=r[2],u=0;if(i.some((t=>0!==e[t]))){for(o in s)a.o(s,o)&&(a.m[o]=s[o]);if(c)c(a)}for(t&&t(r);u<i.length;u++)n=i[u],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0},r=this.webpackChunk_tsparticles_path_curves=this.webpackChunk_tsparticles_path_curves||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var i={};return(()=>{a.r(i),a.d(i,{curvesPathName:()=>e,loadCurvesPath:()=>t});const e="curvesPathGenerator";async function t(t,r=!0){const{CurvesPathGenerator:o}=await a.e(793).then(a.bind(a,793));await t.addPathGenerator(e,new o,r)}})(),i})()));
2
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,(e=>(()=>{var t,r,o={303:t=>{t.exports=e}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return o[e](r,r.exports,a),r.exports}a.m=o,a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((t,r)=>(a.f[r](e,t),t)),[])),a.u=e=>e+".min.js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="@tsparticles/path-curves:",a.l=(e,o,n,i)=>{if(t[e])t[e].push(o);else{var s,c;if(void 0!==n)for(var u=document.getElementsByTagName("script"),p=0;p<u.length;p++){var l=u[p];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==r+n){s=l;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",r+n),s.src=e),t[e]=[o];var d=(r,o)=>{s.onerror=s.onload=null,clearTimeout(f);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),c&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{var e={944:0};a.f.j=(t,r)=>{var o=a.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else{var n=new Promise(((r,n)=>o=e[t]=[r,n]));r.push(o[2]=n);var i=a.p+a.u(t),s=new Error;a.l(i,(r=>{if(a.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+i+")",s.name="ChunkLoadError",s.type=n,s.request=i,o[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var o,n,i=r[0],s=r[1],c=r[2],u=0;if(i.some((t=>0!==e[t]))){for(o in s)a.o(s,o)&&(a.m[o]=s[o]);if(c)c(a)}for(t&&t(r);u<i.length;u++)n=i[u],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0},r=this.webpackChunk_tsparticles_path_curves=this.webpackChunk_tsparticles_path_curves||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var i={};return(()=>{a.r(i),a.d(i,{curvesPathName:()=>e,loadCurvesPath:()=>t});const e="curvesPathGenerator";async function t(t,r=!0){const{CurvesPathGenerator:o}=await a.e(988).then(a.bind(a,988));await t.addPathGenerator(e,new o,r)}})(),i})()));
@@ -1 +1 @@
1
- /*! tsParticles Curves Path v3.2.1 by Matteo Bruni */
1
+ /*! tsParticles Curves Path v3.3.0 by Matteo Bruni */
@@ -4,8 +4,8 @@ import type { ICurvesOptions } from "./ICurvesOptions.js";
4
4
  export declare class CurvesPathGenerator implements IMovePathGenerator {
5
5
  readonly options: ICurvesOptions;
6
6
  constructor();
7
- generate(p: CurvesPathParticle): Promise<Vector>;
8
- init(container: Container): Promise<void>;
7
+ generate(p: CurvesPathParticle): Vector;
8
+ init(container: Container): void;
9
9
  reset(particle: CurvesPathParticle): void;
10
10
  update(): void;
11
11
  }
@@ -1,40 +1,17 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
1
  (function (factory) {
25
2
  if (typeof module === "object" && typeof module.exports === "object") {
26
3
  var v = factory(require, exports);
27
4
  if (v !== undefined) module.exports = v;
28
5
  }
29
6
  else if (typeof define === "function" && define.amd) {
30
- define(["require", "exports", "@tsparticles/engine"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./Curves.js"], factory);
31
8
  }
32
9
  })(function (require, exports) {
33
10
  "use strict";
34
- var __syncRequire = typeof module === "object" && typeof module.exports === "object";
35
11
  Object.defineProperty(exports, "__esModule", { value: true });
36
12
  exports.CurvesPathGenerator = void 0;
37
13
  const engine_1 = require("@tsparticles/engine");
14
+ const Curves_js_1 = require("./Curves.js");
38
15
  const double = 2, doublePI = Math.PI * double;
39
16
  function randomVelocity() {
40
17
  const offset = 0.8, factor = 0.6;
@@ -51,10 +28,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
51
28
  highValue: 0.03,
52
29
  };
53
30
  }
54
- async generate(p) {
31
+ generate(p) {
55
32
  if (!p.pathGen) {
56
- const options = this.options, { CurvesPathGen } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("./Curves.js"))) : new Promise((resolve_1, reject_1) => { require(["./Curves.js"], resolve_1, reject_1); }).then(__importStar));
57
- p.pathGen = CurvesPathGen(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);
33
+ const options = this.options;
34
+ p.pathGen = (0, Curves_js_1.CurvesPathGen)(options.rndFunc, options.period, options.nbHarmonics, options.attenHarmonics, options.lowValue, options.highValue);
58
35
  }
59
36
  if (!p.curveVelocity) {
60
37
  p.curveVelocity = engine_1.Vector.origin;
@@ -69,7 +46,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
69
46
  p.velocity.y = 0;
70
47
  return p.curveVelocity;
71
48
  }
72
- async init(container) {
49
+ init(container) {
73
50
  const sourceOptions = container.actualOptions.particles.move.path.options, { options } = this;
74
51
  if ((0, engine_1.isFunction)(sourceOptions.rndFunc)) {
75
52
  options.rndFunc = sourceOptions.rndFunc;
@@ -83,7 +60,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
83
60
  options.attenHarmonics = sourceOptions.attenHarmonics ?? options.attenHarmonics;
84
61
  options.lowValue = sourceOptions.lowValue ?? options.lowValue;
85
62
  options.highValue = sourceOptions.highValue ?? options.highValue;
86
- await Promise.resolve();
87
63
  }
88
64
  reset(particle) {
89
65
  delete particle.pathGen;
package/782.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 782.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_path_curves=this.webpackChunk_tsparticles_path_curves||[]).push([[782],{782:(t,e,r)=>{r.d(e,{CurvesPathGen:()=>a});var s=r(533);function a(t,e,r,a,c=0,h=1){const n=[],u=[],p=[],l=[],o=[],_=t??s.getRandom;let i=0;r<1&&(r=1);for(let t=1;t<=r;++t)n[t]=_(),u[t]=_(),p[t]=1===t?1:p[t-1]*a,i+=p[t],l[t]=t/e,o[t]=_();return p.forEach(((t,e)=>p[e]=t/i*(h-c))),()=>{let t,e,s=0;for(let a=r;a>=1;--a)t=o[a]+=l[a],o[a]>=1&&(t=o[a]-=1,n[a]=u[a],u[a]=_()),e=t**2*(3-2*t),s+=(n[a]*(1-e)+u[a]*e)*p[a];return s+c}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Curves Path v3.2.1 by Matteo Bruni */
package/793.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 793.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_path_curves=this.webpackChunk_tsparticles_path_curves||[]).push([[793],{793:(e,n,t)=>{t.d(n,{CurvesPathGenerator:()=>c});var i=t(533);const a=2*Math.PI;class c{constructor(){this.options={rndFunc:null,period:100,nbHarmonics:2,attenHarmonics:.8,lowValue:-.03,highValue:.03}}async generate(e){if(!e.pathGen){const n=this.options,{CurvesPathGen:i}=await t.e(782).then(t.bind(t,782));e.pathGen=i(n.rndFunc,n.period,n.nbHarmonics,n.attenHarmonics,n.lowValue,n.highValue)}return e.curveVelocity?(e.curveVelocity.length+=.01,e.curveVelocity.angle=(e.curveVelocity.angle+e.pathGen())%a):(e.curveVelocity=i.Vector.origin,e.curveVelocity.length=.6*(0,i.getRandom)()+.8,e.curveVelocity.angle=(0,i.getRandom)()*a),e.velocity.x=0,e.velocity.y=0,e.curveVelocity}async init(e){const n=e.actualOptions.particles.move.path.options,{options:t}=this;(0,i.isFunction)(n.rndFunc)?t.rndFunc=n.rndFunc:(0,i.isString)(n.rndFunc)&&(t.rndFunc=window[n.rndFunc]??this.options.rndFunc),t.period=n.period??t.period,t.nbHarmonics=n.nbHarmonics??t.nbHarmonics,t.attenHarmonics=n.attenHarmonics??t.attenHarmonics,t.lowValue=n.lowValue??t.lowValue,t.highValue=n.highValue??t.highValue,await Promise.resolve()}reset(e){delete e.pathGen,delete e.curveVelocity}update(){}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Curves Path v3.2.1 by Matteo Bruni */
@@ -1,30 +0,0 @@
1
- /*!
2
- * Author : Matteo Bruni
3
- * MIT license: https://opensource.org/licenses/MIT
4
- * Demo / Generator : https://particles.js.org/
5
- * GitHub : https://www.github.com/matteobruni/tsparticles
6
- * How to use? : Check the GitHub README
7
- * v3.2.1
8
- */
9
- "use strict";
10
- /*
11
- * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
- * This devtool is neither made for production nor for readable output files.
13
- * It uses "eval()" calls to create a separate source file in the browser devtools.
14
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
- * or disable the default devtool with "devtool: false".
16
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
- */
18
- (this["webpackChunk_tsparticles_path_curves"] = this["webpackChunk_tsparticles_path_curves"] || []).push([["dist_browser_Curves_js"],{
19
-
20
- /***/ "./dist/browser/Curves.js":
21
- /*!********************************!*\
22
- !*** ./dist/browser/Curves.js ***!
23
- \********************************/
24
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
25
-
26
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CurvesPathGen: () => (/* binding */ CurvesPathGen)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction CurvesPathGen(rndFunc, period, nbHarmonics, attenHarmonics, lowValue = 0, highValue = 1) {\n const arP0 = [],\n arP1 = [],\n amplitudes = [],\n increments = [],\n phases = [],\n randomFunc = rndFunc ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom;\n let globAmplitude = 0;\n if (nbHarmonics < 1) nbHarmonics = 1;\n for (let kh = 1; kh <= nbHarmonics; ++kh) {\n arP0[kh] = randomFunc();\n arP1[kh] = randomFunc();\n amplitudes[kh] = kh === 1 ? 1 : amplitudes[kh - 1] * attenHarmonics;\n globAmplitude += amplitudes[kh];\n increments[kh] = kh / period;\n phases[kh] = randomFunc();\n }\n amplitudes.forEach((value, kh) => amplitudes[kh] = value / globAmplitude * (highValue - lowValue));\n return () => {\n let pf,\n pfl,\n signal = 0;\n for (let kh = nbHarmonics; kh >= 1; --kh) {\n pf = phases[kh] += increments[kh];\n if (phases[kh] >= 1) {\n pf = phases[kh] -= 1;\n arP0[kh] = arP1[kh];\n arP1[kh] = randomFunc();\n }\n pfl = pf ** 2 * (3 - 2 * pf);\n signal += (arP0[kh] * (1 - pfl) + arP1[kh] * pfl) * amplitudes[kh];\n }\n return signal + lowValue;\n };\n}\n\n//# sourceURL=webpack://@tsparticles/path-curves/./dist/browser/Curves.js?");
27
-
28
- /***/ })
29
-
30
- }]);