@tsparticles/move-base 3.0.0-beta.3 → 3.0.0-beta.5
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/BaseMover.js +2 -2
- package/browser/Utils.js +6 -6
- package/cjs/BaseMover.js +2 -2
- package/cjs/Utils.js +6 -6
- package/esm/BaseMover.js +2 -2
- package/esm/Utils.js +6 -6
- package/package.json +3 -3
- package/report.html +4 -22
- package/tsparticles.move.base.js +10 -9
- package/tsparticles.move.base.min.js +1 -1
- package/tsparticles.move.base.min.js.LICENSE.txt +1 -1
- package/umd/BaseMover.js +2 -2
- package/umd/Utils.js +6 -6
package/tsparticles.move.base.js
CHANGED
|
@@ -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.0-beta.
|
|
7
|
+
* v3.0.0-beta.5
|
|
8
8
|
*/
|
|
9
9
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
10
10
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -117,10 +117,10 @@ function applyDistance(particle) {
|
|
|
117
117
|
if ((hDistance && dxFixed >= hDistance || vDistance && dyFixed >= vDistance) && !particle.misplaced) {
|
|
118
118
|
particle.misplaced = !!hDistance && dxFixed > hDistance || !!vDistance && dyFixed > vDistance;
|
|
119
119
|
if (hDistance) {
|
|
120
|
-
particle.velocity.x = particle.velocity.y
|
|
120
|
+
particle.velocity.x = particle.velocity.y * 0.5 - particle.velocity.x;
|
|
121
121
|
}
|
|
122
122
|
if (vDistance) {
|
|
123
|
-
particle.velocity.y = particle.velocity.x
|
|
123
|
+
particle.velocity.y = particle.velocity.x * 0.5 - particle.velocity.y;
|
|
124
124
|
}
|
|
125
125
|
} else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {
|
|
126
126
|
particle.misplaced = false;
|
|
@@ -178,15 +178,16 @@ function spin(particle, moveSpeed) {
|
|
|
178
178
|
particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);
|
|
179
179
|
particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);
|
|
180
180
|
particle.spin.radius += particle.spin.acceleration;
|
|
181
|
-
const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height)
|
|
182
|
-
|
|
183
|
-
|
|
181
|
+
const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height),
|
|
182
|
+
halfMaxSize = maxCanvasSize * 0.5;
|
|
183
|
+
if (particle.spin.radius > halfMaxSize) {
|
|
184
|
+
particle.spin.radius = halfMaxSize;
|
|
184
185
|
particle.spin.acceleration *= -1;
|
|
185
186
|
} else if (particle.spin.radius < 0) {
|
|
186
187
|
particle.spin.radius = 0;
|
|
187
188
|
particle.spin.acceleration *= -1;
|
|
188
189
|
}
|
|
189
|
-
particle.spin.angle += moveSpeed
|
|
190
|
+
particle.spin.angle += moveSpeed * 0.01 * (1 - particle.spin.radius / maxCanvasSize);
|
|
190
191
|
}
|
|
191
192
|
function applyPath(particle, delta) {
|
|
192
193
|
const particlesOptions = particle.options,
|
|
@@ -230,8 +231,8 @@ class BaseMover {
|
|
|
230
231
|
y: 50
|
|
231
232
|
},
|
|
232
233
|
spinCenter = {
|
|
233
|
-
x: spinPos.x
|
|
234
|
-
y: spinPos.y
|
|
234
|
+
x: spinPos.x * 0.01 * container.canvas.size.width,
|
|
235
|
+
y: spinPos.y * 0.01 * container.canvas.size.height
|
|
235
236
|
},
|
|
236
237
|
pos = particle.getPosition(),
|
|
237
238
|
distance = (0,engine_root_window_.getDistance)(pos, spinCenter),
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see tsparticles.move.base.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 i="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(this,(e=>(()=>{"use strict";var t={533:t=>{t.exports=e}},i={};function n(e){var o=i[e];if(void 0!==o)return o.exports;var a=i[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{n.r(o),n.d(o,{loadBaseMover:()=>a});var e=n(533);function t(t,i,n,o,a,s){!function(t,i){const n=t.options,o=n.move.path;if(!o.enable)return;if(t.lastPathTime<=t.pathDelay)return void(t.lastPathTime+=i.value);const a=t.pathGenerator?.generate(t,i);a&&t.velocity.addTo(a);o.clamp&&(t.velocity.x=(0,e.clamp)(t.velocity.x,-1,1),t.velocity.y=(0,e.clamp)(t.velocity.y,-1,1));t.lastPathTime-=t.pathDelay}(t,s);const c=t.gravity,r=c?.enable&&c.inverse?-1:1;a&&n&&(t.velocity.x+=a*s.factor/(60*n)),c?.enable&&n&&(t.velocity.y+=r*(c.acceleration*s.factor)/(60*n));const l=t.moveDecay;t.velocity.multTo(l);const p=t.velocity.mult(n);c?.enable&&o>0&&(!c.inverse&&p.y>=0&&p.y>=o||c.inverse&&p.y<=0&&p.y<=-o)&&(p.y=r*o,n&&(t.velocity.y=p.y/n));const y=t.options.zIndex,d=(1-t.zIndexFactor)**y.velocityRate;p.multTo(d);const{position:v}=t;v.addTo(p),i.vibrate&&(v.x+=Math.sin(v.x*Math.cos(v.y)),v.y+=Math.cos(v.y*Math.sin(v.x)))}class i{constructor(){this._initSpin=t=>{const i=t.container,n=t.options.move.spin;if(!n.enable)return;const o=n.position??{x:50,y:50},a={x
|
|
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 i="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(this,(e=>(()=>{"use strict";var t={533:t=>{t.exports=e}},i={};function n(e){var o=i[e];if(void 0!==o)return o.exports;var a=i[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{n.r(o),n.d(o,{loadBaseMover:()=>a});var e=n(533);function t(t,i,n,o,a,s){!function(t,i){const n=t.options,o=n.move.path;if(!o.enable)return;if(t.lastPathTime<=t.pathDelay)return void(t.lastPathTime+=i.value);const a=t.pathGenerator?.generate(t,i);a&&t.velocity.addTo(a);o.clamp&&(t.velocity.x=(0,e.clamp)(t.velocity.x,-1,1),t.velocity.y=(0,e.clamp)(t.velocity.y,-1,1));t.lastPathTime-=t.pathDelay}(t,s);const c=t.gravity,r=c?.enable&&c.inverse?-1:1;a&&n&&(t.velocity.x+=a*s.factor/(60*n)),c?.enable&&n&&(t.velocity.y+=r*(c.acceleration*s.factor)/(60*n));const l=t.moveDecay;t.velocity.multTo(l);const p=t.velocity.mult(n);c?.enable&&o>0&&(!c.inverse&&p.y>=0&&p.y>=o||c.inverse&&p.y<=0&&p.y<=-o)&&(p.y=r*o,n&&(t.velocity.y=p.y/n));const y=t.options.zIndex,d=(1-t.zIndexFactor)**y.velocityRate;p.multTo(d);const{position:v}=t;v.addTo(p),i.vibrate&&(v.x+=Math.sin(v.x*Math.cos(v.y)),v.y+=Math.cos(v.y*Math.sin(v.x)))}class i{constructor(){this._initSpin=t=>{const i=t.container,n=t.options.move.spin;if(!n.enable)return;const o=n.position??{x:50,y:50},a={x:.01*o.x*i.canvas.size.width,y:.01*o.y*i.canvas.size.height},s=t.getPosition(),c=(0,e.getDistance)(s,a),r=(0,e.getRangeValue)(n.acceleration);t.retina.spinAcceleration=r*i.retina.pixelRatio,t.spin={center:a,direction:t.velocity.x>=0?"clockwise":"counter-clockwise",angle:t.velocity.angle,radius:c,acceleration:t.retina.spinAcceleration}}}init(t){const i=t.options.move.gravity;t.gravity={enable:i.enable,acceleration:(0,e.getRangeValue)(i.acceleration),inverse:i.inverse},this._initSpin(t)}isEnabled(e){return!e.destroyed&&e.options.move.enable}move(i,n){const o=i.options,a=o.move;if(!a.enable)return;const s=i.container,c=s.retina.pixelRatio,r=function(e){return e.slow.inRange?e.slow.factor:1}(i),l=(i.retina.moveSpeed??=(0,e.getRangeValue)(a.speed)*c)*s.retina.reduceFactor,p=i.retina.moveDrift??=(0,e.getRangeValue)(i.options.move.drift)*c,y=(0,e.getRangeMax)(o.size.value)*c,d=l*(a.size?i.getRadius()/y:1)*r*(n.factor||1)/2,v=i.retina.maxSpeed??s.retina.maxSpeed;a.spin.enable?function(e,t){const i=e.container;if(!e.spin)return;const n={x:"clockwise"===e.spin.direction?Math.cos:Math.sin,y:"clockwise"===e.spin.direction?Math.sin:Math.cos};e.position.x=e.spin.center.x+e.spin.radius*n.x(e.spin.angle),e.position.y=e.spin.center.y+e.spin.radius*n.y(e.spin.angle),e.spin.radius+=e.spin.acceleration;const o=Math.max(i.canvas.size.width,i.canvas.size.height),a=.5*o;e.spin.radius>a?(e.spin.radius=a,e.spin.acceleration*=-1):e.spin.radius<0&&(e.spin.radius=0,e.spin.acceleration*=-1),e.spin.angle+=.01*t*(1-e.spin.radius/o)}(i,d):t(i,a,d,v,p,n),function(t){const i=t.initialPosition,{dx:n,dy:o}=(0,e.getDistances)(i,t.position),a=Math.abs(n),s=Math.abs(o),{maxDistance:c}=t.retina,r=c.horizontal,l=c.vertical;if(r||l)if((r&&a>=r||l&&s>=l)&&!t.misplaced)t.misplaced=!!r&&a>r||!!l&&s>l,r&&(t.velocity.x=.5*t.velocity.y-t.velocity.x),l&&(t.velocity.y=.5*t.velocity.x-t.velocity.y);else if((!r||a<r)&&(!l||s<l)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){const n=t.position,o=t.velocity;r&&(n.x<i.x&&o.x<0||n.x>i.x&&o.x>0)&&(o.x*=-(0,e.getRandom)()),l&&(n.y<i.y&&o.y<0||n.y>i.y&&o.y>0)&&(o.y*=-(0,e.getRandom)())}}(i)}}async function a(e,t=!0){await e.addMover("base",(()=>new i),t)}})(),o})()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tsParticles Base Move v3.0.0-beta.
|
|
1
|
+
/*! tsParticles Base Move v3.0.0-beta.5 by Matteo Bruni */
|
package/umd/BaseMover.js
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
const spinPos = spinOptions.position ?? { x: 50, y: 50 }, spinCenter = {
|
|
24
|
-
x:
|
|
25
|
-
y:
|
|
24
|
+
x: spinPos.x * 0.01 * container.canvas.size.width,
|
|
25
|
+
y: spinPos.y * 0.01 * container.canvas.size.height,
|
|
26
26
|
}, pos = particle.getPosition(), distance = (0, engine_1.getDistance)(pos, spinCenter), spinAcceleration = (0, engine_1.getRangeValue)(spinOptions.acceleration);
|
|
27
27
|
particle.retina.spinAcceleration = spinAcceleration * container.retina.pixelRatio;
|
|
28
28
|
particle.spin = {
|
package/umd/Utils.js
CHANGED
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
if (((hDistance && dxFixed >= hDistance) || (vDistance && dyFixed >= vDistance)) && !particle.misplaced) {
|
|
20
20
|
particle.misplaced = (!!hDistance && dxFixed > hDistance) || (!!vDistance && dyFixed > vDistance);
|
|
21
21
|
if (hDistance) {
|
|
22
|
-
particle.velocity.x = particle.velocity.y
|
|
22
|
+
particle.velocity.x = particle.velocity.y * 0.5 - particle.velocity.x;
|
|
23
23
|
}
|
|
24
24
|
if (vDistance) {
|
|
25
|
-
particle.velocity.y = particle.velocity.x
|
|
25
|
+
particle.velocity.y = particle.velocity.x * 0.5 - particle.velocity.y;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {
|
|
@@ -82,16 +82,16 @@
|
|
|
82
82
|
particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);
|
|
83
83
|
particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);
|
|
84
84
|
particle.spin.radius += particle.spin.acceleration;
|
|
85
|
-
const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height);
|
|
86
|
-
if (particle.spin.radius >
|
|
87
|
-
particle.spin.radius =
|
|
85
|
+
const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height), halfMaxSize = maxCanvasSize * 0.5;
|
|
86
|
+
if (particle.spin.radius > halfMaxSize) {
|
|
87
|
+
particle.spin.radius = halfMaxSize;
|
|
88
88
|
particle.spin.acceleration *= -1;
|
|
89
89
|
}
|
|
90
90
|
else if (particle.spin.radius < 0) {
|
|
91
91
|
particle.spin.radius = 0;
|
|
92
92
|
particle.spin.acceleration *= -1;
|
|
93
93
|
}
|
|
94
|
-
particle.spin.angle +=
|
|
94
|
+
particle.spin.angle += moveSpeed * 0.01 * (1 - particle.spin.radius / maxCanvasSize);
|
|
95
95
|
}
|
|
96
96
|
exports.spin = spin;
|
|
97
97
|
function applyPath(particle, delta) {
|