@tsparticles/path-curves 3.0.2 → 3.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.
- package/browser/CurvesPathGenerator.js +9 -4
- package/cjs/CurvesPathGenerator.js +9 -4
- package/esm/CurvesPathGenerator.js +9 -4
- package/package.json +2 -2
- package/report.html +2 -2
- package/tsparticles.path.curves.js +12 -5
- package/tsparticles.path.curves.min.js +1 -1
- package/tsparticles.path.curves.min.js.LICENSE.txt +1 -1
- package/types/CurvesPathGenerator.d.ts +0 -5
- package/umd/CurvesPathGenerator.js +9 -4
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Vector, getRandom, isFunction, isString } from "@tsparticles/engine";
|
|
2
2
|
import { CurvesPathGen } from "./Curves.js";
|
|
3
|
+
const double = 2, doublePI = Math.PI * double;
|
|
4
|
+
function randomVelocity() {
|
|
5
|
+
const offset = 0.8, factor = 0.6;
|
|
6
|
+
return getRandom() * factor + offset;
|
|
7
|
+
}
|
|
3
8
|
export class CurvesPathGenerator {
|
|
4
9
|
constructor() {
|
|
5
10
|
this.options = {
|
|
@@ -18,12 +23,12 @@ export class CurvesPathGenerator {
|
|
|
18
23
|
}
|
|
19
24
|
if (!p.curveVelocity) {
|
|
20
25
|
p.curveVelocity = Vector.origin;
|
|
21
|
-
p.curveVelocity.length =
|
|
22
|
-
p.curveVelocity.angle = getRandom() *
|
|
26
|
+
p.curveVelocity.length = randomVelocity();
|
|
27
|
+
p.curveVelocity.angle = getRandom() * doublePI;
|
|
23
28
|
}
|
|
24
29
|
else {
|
|
25
30
|
p.curveVelocity.length += 0.01;
|
|
26
|
-
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) %
|
|
31
|
+
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) % doublePI;
|
|
27
32
|
}
|
|
28
33
|
p.velocity.x = 0;
|
|
29
34
|
p.velocity.y = 0;
|
|
@@ -36,7 +41,7 @@ export class CurvesPathGenerator {
|
|
|
36
41
|
}
|
|
37
42
|
else if (isString(sourceOptions.rndFunc)) {
|
|
38
43
|
options.rndFunc =
|
|
39
|
-
window[sourceOptions.rndFunc]
|
|
44
|
+
window[sourceOptions.rndFunc] ?? this.options.rndFunc;
|
|
40
45
|
}
|
|
41
46
|
options.period = sourceOptions.period ?? options.period;
|
|
42
47
|
options.nbHarmonics = sourceOptions.nbHarmonics ?? options.nbHarmonics;
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CurvesPathGenerator = void 0;
|
|
4
4
|
const engine_1 = require("@tsparticles/engine");
|
|
5
5
|
const Curves_js_1 = require("./Curves.js");
|
|
6
|
+
const double = 2, doublePI = Math.PI * double;
|
|
7
|
+
function randomVelocity() {
|
|
8
|
+
const offset = 0.8, factor = 0.6;
|
|
9
|
+
return (0, engine_1.getRandom)() * factor + offset;
|
|
10
|
+
}
|
|
6
11
|
class CurvesPathGenerator {
|
|
7
12
|
constructor() {
|
|
8
13
|
this.options = {
|
|
@@ -21,12 +26,12 @@ class CurvesPathGenerator {
|
|
|
21
26
|
}
|
|
22
27
|
if (!p.curveVelocity) {
|
|
23
28
|
p.curveVelocity = engine_1.Vector.origin;
|
|
24
|
-
p.curveVelocity.length = (
|
|
25
|
-
p.curveVelocity.angle = (0, engine_1.getRandom)() *
|
|
29
|
+
p.curveVelocity.length = randomVelocity();
|
|
30
|
+
p.curveVelocity.angle = (0, engine_1.getRandom)() * doublePI;
|
|
26
31
|
}
|
|
27
32
|
else {
|
|
28
33
|
p.curveVelocity.length += 0.01;
|
|
29
|
-
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) %
|
|
34
|
+
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) % doublePI;
|
|
30
35
|
}
|
|
31
36
|
p.velocity.x = 0;
|
|
32
37
|
p.velocity.y = 0;
|
|
@@ -39,7 +44,7 @@ class CurvesPathGenerator {
|
|
|
39
44
|
}
|
|
40
45
|
else if ((0, engine_1.isString)(sourceOptions.rndFunc)) {
|
|
41
46
|
options.rndFunc =
|
|
42
|
-
window[sourceOptions.rndFunc]
|
|
47
|
+
window[sourceOptions.rndFunc] ?? this.options.rndFunc;
|
|
43
48
|
}
|
|
44
49
|
options.period = sourceOptions.period ?? options.period;
|
|
45
50
|
options.nbHarmonics = sourceOptions.nbHarmonics ?? options.nbHarmonics;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Vector, getRandom, isFunction, isString } from "@tsparticles/engine";
|
|
2
2
|
import { CurvesPathGen } from "./Curves.js";
|
|
3
|
+
const double = 2, doublePI = Math.PI * double;
|
|
4
|
+
function randomVelocity() {
|
|
5
|
+
const offset = 0.8, factor = 0.6;
|
|
6
|
+
return getRandom() * factor + offset;
|
|
7
|
+
}
|
|
3
8
|
export class CurvesPathGenerator {
|
|
4
9
|
constructor() {
|
|
5
10
|
this.options = {
|
|
@@ -18,12 +23,12 @@ export class CurvesPathGenerator {
|
|
|
18
23
|
}
|
|
19
24
|
if (!p.curveVelocity) {
|
|
20
25
|
p.curveVelocity = Vector.origin;
|
|
21
|
-
p.curveVelocity.length =
|
|
22
|
-
p.curveVelocity.angle = getRandom() *
|
|
26
|
+
p.curveVelocity.length = randomVelocity();
|
|
27
|
+
p.curveVelocity.angle = getRandom() * doublePI;
|
|
23
28
|
}
|
|
24
29
|
else {
|
|
25
30
|
p.curveVelocity.length += 0.01;
|
|
26
|
-
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) %
|
|
31
|
+
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) % doublePI;
|
|
27
32
|
}
|
|
28
33
|
p.velocity.x = 0;
|
|
29
34
|
p.velocity.y = 0;
|
|
@@ -36,7 +41,7 @@ export class CurvesPathGenerator {
|
|
|
36
41
|
}
|
|
37
42
|
else if (isString(sourceOptions.rndFunc)) {
|
|
38
43
|
options.rndFunc =
|
|
39
|
-
window[sourceOptions.rndFunc]
|
|
44
|
+
window[sourceOptions.rndFunc] ?? this.options.rndFunc;
|
|
40
45
|
}
|
|
41
46
|
options.period = sourceOptions.period ?? options.period;
|
|
42
47
|
options.nbHarmonics = sourceOptions.nbHarmonics ?? options.nbHarmonics;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/path-curves",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.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.0
|
|
107
|
+
"@tsparticles/engine": "^3.1.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 [
|
|
6
|
+
<title>@tsparticles/path-curves [13 Jan 2024 at 23:01]</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>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<body>
|
|
32
32
|
<div id="app"></div>
|
|
33
33
|
<script>
|
|
34
|
-
window.chartData = [{"label":"tsparticles.path.curves.js","isAsset":true,"statSize":
|
|
34
|
+
window.chartData = [{"label":"tsparticles.path.curves.js","isAsset":true,"statSize":3419,"parsedSize":7334,"gzipSize":2292,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":3377,"groups":[{"id":644,"label":"index.js + 2 modules (concatenated)","path":"./dist/browser/index.js + 2 modules (concatenated)","statSize":3377,"parsedSize":7334,"gzipSize":2292,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser","statSize":3377,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/index.js","statSize":266,"parsedSize":577,"gzipSize":180,"inaccurateSizes":true},{"id":null,"label":"CurvesPathGenerator.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/CurvesPathGenerator.js","statSize":1945,"parsedSize":4224,"gzipSize":1320,"inaccurateSizes":true},{"id":null,"label":"Curves.js","path":"./dist/browser/index.js + 2 modules (concatenated)/dist/browser/Curves.js","statSize":1166,"parsedSize":2532,"gzipSize":791,"inaccurateSizes":true}],"parsedSize":7334,"gzipSize":2292,"inaccurateSizes":true}]}],"parsedSize":7334,"gzipSize":2292},{"label":"engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","statSize":42,"groups":[{"id":533,"label":"engine\",\"root\":\"window\"}","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles/engine\",\"root\":\"window\"}","statSize":42}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"tsparticles.path.curves":true}}];
|
|
35
35
|
window.entrypoints = ["tsparticles.path.curves","tsparticles.path.curves.min"];
|
|
36
36
|
window.defaultSizes = "parsed";
|
|
37
37
|
</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.0
|
|
7
|
+
* v3.1.0
|
|
8
8
|
*/
|
|
9
9
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
10
10
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -137,6 +137,13 @@ function CurvesPathGen(rndFunc, period, nbHarmonics, attenHarmonics, lowValue =
|
|
|
137
137
|
;// CONCATENATED MODULE: ./dist/browser/CurvesPathGenerator.js
|
|
138
138
|
|
|
139
139
|
|
|
140
|
+
const CurvesPathGenerator_double = 2,
|
|
141
|
+
doublePI = Math.PI * CurvesPathGenerator_double;
|
|
142
|
+
function randomVelocity() {
|
|
143
|
+
const offset = 0.8,
|
|
144
|
+
factor = 0.6;
|
|
145
|
+
return (0,engine_root_window_.getRandom)() * factor + offset;
|
|
146
|
+
}
|
|
140
147
|
class CurvesPathGenerator {
|
|
141
148
|
constructor() {
|
|
142
149
|
this.options = {
|
|
@@ -155,11 +162,11 @@ class CurvesPathGenerator {
|
|
|
155
162
|
}
|
|
156
163
|
if (!p.curveVelocity) {
|
|
157
164
|
p.curveVelocity = engine_root_window_.Vector.origin;
|
|
158
|
-
p.curveVelocity.length = (
|
|
159
|
-
p.curveVelocity.angle = (0,engine_root_window_.getRandom)() *
|
|
165
|
+
p.curveVelocity.length = randomVelocity();
|
|
166
|
+
p.curveVelocity.angle = (0,engine_root_window_.getRandom)() * doublePI;
|
|
160
167
|
} else {
|
|
161
168
|
p.curveVelocity.length += 0.01;
|
|
162
|
-
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) %
|
|
169
|
+
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) % doublePI;
|
|
163
170
|
}
|
|
164
171
|
p.velocity.x = 0;
|
|
165
172
|
p.velocity.y = 0;
|
|
@@ -173,7 +180,7 @@ class CurvesPathGenerator {
|
|
|
173
180
|
if ((0,engine_root_window_.isFunction)(sourceOptions.rndFunc)) {
|
|
174
181
|
options.rndFunc = sourceOptions.rndFunc;
|
|
175
182
|
} else if ((0,engine_root_window_.isString)(sourceOptions.rndFunc)) {
|
|
176
|
-
options.rndFunc = window[sourceOptions.rndFunc]
|
|
183
|
+
options.rndFunc = window[sourceOptions.rndFunc] ?? this.options.rndFunc;
|
|
177
184
|
}
|
|
178
185
|
options.period = sourceOptions.period ?? options.period;
|
|
179
186
|
options.nbHarmonics = sourceOptions.nbHarmonics ?? options.nbHarmonics;
|
|
@@ -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 n="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(this,(e=>(()=>{"use strict";var t={533:t=>{t.exports=e}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{curvesPathName:()=>
|
|
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 n="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(this,(e=>(()=>{"use strict";var t={533:t=>{t.exports=e}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{curvesPathName:()=>i,loadCurvesPath:()=>a});var e=o(533);const t=2*Math.PI;class n{constructor(){this.options={rndFunc:null,period:100,nbHarmonics:2,attenHarmonics:.8,lowValue:-.03,highValue:.03}}generate(n){if(!n.pathGen){const t=this.options;n.pathGen=function(t,n,o,r,i=0,a=1){const c=[],l=[],s=[],u=[],p=[],d=t??e.getRandom;let h=0;o<1&&(o=1);for(let e=1;e<=o;++e)c[e]=d(),l[e]=d(),s[e]=1===e?1:s[e-1]*r,h+=s[e],u[e]=e/n,p[e]=d();return s.forEach(((e,t)=>s[t]=e/h*(a-i))),()=>{let e,t,n=0;for(let r=o;r>=1;--r)e=p[r]+=u[r],p[r]>=1&&(e=p[r]-=1,c[r]=l[r],l[r]=d()),t=e**2*(3-2*e),n+=(c[r]*(1-t)+l[r]*t)*s[r];return n+i}}(t.rndFunc,t.period,t.nbHarmonics,t.attenHarmonics,t.lowValue,t.highValue)}return n.curveVelocity?(n.curveVelocity.length+=.01,n.curveVelocity.angle=(n.curveVelocity.angle+n.pathGen())%t):(n.curveVelocity=e.Vector.origin,n.curveVelocity.length=.6*(0,e.getRandom)()+.8,n.curveVelocity.angle=(0,e.getRandom)()*t),n.velocity.x=0,n.velocity.y=0,n.curveVelocity}init(t){const n=t.actualOptions.particles.move.path.options,{options:o}=this;(0,e.isFunction)(n.rndFunc)?o.rndFunc=n.rndFunc:(0,e.isString)(n.rndFunc)&&(o.rndFunc=window[n.rndFunc]??this.options.rndFunc),o.period=n.period??o.period,o.nbHarmonics=n.nbHarmonics??o.nbHarmonics,o.attenHarmonics=n.attenHarmonics??o.attenHarmonics,o.lowValue=n.lowValue??o.lowValue,o.highValue=n.highValue??o.highValue}reset(e){delete e.pathGen,delete e.curveVelocity}update(){}}const i="curvesPathGenerator";async function a(e,t=!0){await e.addPathGenerator(i,new n,t)}})(),r})()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tsParticles Curves Path v3.0
|
|
1
|
+
/*! tsParticles Curves Path v3.1.0 by Matteo Bruni */
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { type Container, type IMovePathGenerator, Vector } from "@tsparticles/engine";
|
|
2
2
|
import type { CurvesPathParticle } from "./CurvesPathParticle.js";
|
|
3
3
|
import type { ICurvesOptions } from "./ICurvesOptions.js";
|
|
4
|
-
declare global {
|
|
5
|
-
interface Window {
|
|
6
|
-
[key: string]: unknown;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
4
|
export declare class CurvesPathGenerator implements IMovePathGenerator {
|
|
10
5
|
readonly options: ICurvesOptions;
|
|
11
6
|
constructor();
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
exports.CurvesPathGenerator = void 0;
|
|
13
13
|
const engine_1 = require("@tsparticles/engine");
|
|
14
14
|
const Curves_js_1 = require("./Curves.js");
|
|
15
|
+
const double = 2, doublePI = Math.PI * double;
|
|
16
|
+
function randomVelocity() {
|
|
17
|
+
const offset = 0.8, factor = 0.6;
|
|
18
|
+
return (0, engine_1.getRandom)() * factor + offset;
|
|
19
|
+
}
|
|
15
20
|
class CurvesPathGenerator {
|
|
16
21
|
constructor() {
|
|
17
22
|
this.options = {
|
|
@@ -30,12 +35,12 @@
|
|
|
30
35
|
}
|
|
31
36
|
if (!p.curveVelocity) {
|
|
32
37
|
p.curveVelocity = engine_1.Vector.origin;
|
|
33
|
-
p.curveVelocity.length = (
|
|
34
|
-
p.curveVelocity.angle = (0, engine_1.getRandom)() *
|
|
38
|
+
p.curveVelocity.length = randomVelocity();
|
|
39
|
+
p.curveVelocity.angle = (0, engine_1.getRandom)() * doublePI;
|
|
35
40
|
}
|
|
36
41
|
else {
|
|
37
42
|
p.curveVelocity.length += 0.01;
|
|
38
|
-
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) %
|
|
43
|
+
p.curveVelocity.angle = (p.curveVelocity.angle + p.pathGen()) % doublePI;
|
|
39
44
|
}
|
|
40
45
|
p.velocity.x = 0;
|
|
41
46
|
p.velocity.y = 0;
|
|
@@ -48,7 +53,7 @@
|
|
|
48
53
|
}
|
|
49
54
|
else if ((0, engine_1.isString)(sourceOptions.rndFunc)) {
|
|
50
55
|
options.rndFunc =
|
|
51
|
-
window[sourceOptions.rndFunc]
|
|
56
|
+
window[sourceOptions.rndFunc] ?? this.options.rndFunc;
|
|
52
57
|
}
|
|
53
58
|
options.period = sourceOptions.period ?? options.period;
|
|
54
59
|
options.nbHarmonics = sourceOptions.nbHarmonics ?? options.nbHarmonics;
|