@tsparticles/interaction-particles-collisions 4.0.0-beta.0 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_interaction_particles_collisions=this.webpackChunk_tsparticles_interaction_particles_collisions||[]).push([[224],{224(e,s,o){o.d(s,{Collider:()=>p});var i,t,l=o(303),a=o(702);(i=t||(t={})).absorb="absorb",i.bounce="bounce",i.destroy="destroy";class n{speed;constructor(){this.speed=2}load(e){(0,l.isNull)(e)||void 0!==e.speed&&(this.speed=e.speed)}}class c{enable;retries;constructor(){this.enable=!0,this.retries=0}load(e){(0,l.isNull)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.retries&&(this.retries=e.retries))}}class r{absorb;bounce;enable;maxSpeed;mode;overlap;constructor(){this.absorb=new n,this.bounce=new l.ParticlesBounce,this.enable=!1,this.maxSpeed=50,this.mode=t.bounce,this.overlap=new c}load(e){(0,l.isNull)(e)||(this.absorb.load(e.absorb),this.bounce.load(e.bounce),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.maxSpeed&&(this.maxSpeed=(0,l.setRangeValue)(e.maxSpeed)),void 0!==e.mode&&(this.mode=e.mode),this.overlap.load(e.overlap))}}function d(e,s,o,i,t,a){if(!e.options.collisions||!o.options.collisions)return;let n=e.options.collisions.absorb.speed,c=(0,l.clamp)(n*t.factor,0,i);e.size.value=Math.sqrt(s*s+c*c),o.size.value-=c,o.size.value<=a&&(o.size.value=0,o.destroy())}let u=e=>{e.options.collisions&&(e.collisionMaxSpeed??=(0,l.getRangeValue)(e.options.collisions.maxSpeed),e.velocity.length>e.collisionMaxSpeed&&(e.velocity.length=e.collisionMaxSpeed))};function b(e,s){let o=e.getMass(),i=s.getMass(),t=e.velocity.length,a=s.velocity.length,n=o*t*t+i*a*a;(0,l.circleBounce)((0,l.circleBounceDataFromParticle)(e),(0,l.circleBounceDataFromParticle)(s));let c=e.velocity.length,r=s.velocity.length,d=o*c*c+i*r*r;if(d>1e-6*n){let o=Math.sqrt(n/d);Math.abs(o-1)>1e-4&&(e.velocity.length=c*o,s.velocity.length=r*o)}u(e),u(s)}class p extends a.ParticlesInteractorBase{maxDistance;constructor(e){super(e),this.maxDistance=0}clear(){}init(){}interact(e,s,o){if(e.destroyed||e.spawning)return;let i=this.container,a=e.getPosition(),n=e.getRadius();for(let s of i.particles.grid.queryCircle(a,n*l.double)){if(e===s||e.id>=s.id||!e.options.collisions?.enable||!s.options.collisions?.enable||e.options.collisions.mode!==s.options.collisions.mode||s.destroyed||s.spawning)continue;let c=s.getPosition(),r=s.getRadius();if(!(Math.abs(Math.round(a.z)-Math.round(c.z))>n+r))(0,l.getDistance)(a,c)>n+r||function(e,s,o,i){if(e.options.collisions&&s.options.collisions)switch(e.options.collisions.mode){case t.absorb:let l,a;l=e.getRadius(),a=s.getRadius(),!l&&a?e.destroy():l&&!a?s.destroy():l&&a&&(l>=a?d(e,l,s,a,o,i):d(s,a,e,l,o,i));break;case t.bounce:b(e,s);break;case t.destroy:let n,c;e.unbreakable||s.unbreakable||b(e,s),n=e.getRadius(),c=s.getRadius(),!n&&c?e.destroy():n&&!c?s.destroy():n&&c&&(e.getRadius()>=s.getRadius()?s:e).destroy()}}(e,s,o,i.retina.pixelRatio)}}isEnabled(e){return!!e.options.collisions?.enable}loadParticlesOptions(e,...s){for(let o of(e.collisions??=new r,s))e.collisions.load(o?.collisions)}reset(){}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_interaction_particles_collisions=this.webpackChunk_tsparticles_interaction_particles_collisions||[]).push([[186],{186(e,s,o){o.d(s,{Collider:()=>p});var i,t,l=o(303),a=o(702);(i=t||(t={})).absorb="absorb",i.bounce="bounce",i.destroy="destroy";class n{speed;constructor(){this.speed=2}load(e){(0,l.isNull)(e)||void 0!==e.speed&&(this.speed=e.speed)}}class c{enable;retries;constructor(){this.enable=!0,this.retries=0}load(e){(0,l.isNull)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.retries&&(this.retries=e.retries))}}class r{absorb;bounce;enable;maxSpeed;mode;overlap;constructor(){this.absorb=new n,this.bounce=new l.ParticlesBounce,this.enable=!1,this.maxSpeed=50,this.mode=t.bounce,this.overlap=new c}load(e){(0,l.isNull)(e)||(this.absorb.load(e.absorb),this.bounce.load(e.bounce),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.maxSpeed&&(this.maxSpeed=(0,l.setRangeValue)(e.maxSpeed)),void 0!==e.mode&&(this.mode=e.mode),this.overlap.load(e.overlap))}}function d(e,s,o,i,t,a){if(!e.options.collisions||!o.options.collisions)return;let n=e.options.collisions.absorb.speed,c=(0,l.clamp)(n*t.factor,0,i);e.size.value=Math.sqrt(s*s+c*c),o.size.value-=c,o.size.value<=a&&(o.size.value=0,o.destroy())}let u=e=>{e.options.collisions&&(e.collisionMaxSpeed??=(0,l.getRangeValue)(e.options.collisions.maxSpeed),e.velocity.length>e.collisionMaxSpeed&&(e.velocity.length=e.collisionMaxSpeed))};function b(e,s){let o=e.getMass(),i=s.getMass(),t=e.velocity.length,a=s.velocity.length,n=o*t*t+i*a*a;(0,l.circleBounce)((0,l.circleBounceDataFromParticle)(e),(0,l.circleBounceDataFromParticle)(s));let c=e.velocity.length,r=s.velocity.length,d=o*c*c+i*r*r;if(d>1e-6*n){let o=Math.sqrt(n/d);Math.abs(o-1)>1e-4&&(e.velocity.length=c*o,s.velocity.length=r*o)}u(e),u(s)}class p extends a.ParticlesInteractorBase{maxDistance;constructor(e){super(e),this.maxDistance=0}clear(){}init(){}interact(e,s,o){if(e.destroyed||e.spawning)return;let i=this.container,a=e.getPosition(),n=e.getRadius();for(let s of i.particles.grid.queryCircle(a,n*l.double)){if(e===s||e.id>=s.id||!e.options.collisions?.enable||!s.options.collisions?.enable||e.options.collisions.mode!==s.options.collisions.mode||s.destroyed||s.spawning)continue;let c=s.getPosition(),r=s.getRadius();if(!(Math.abs(Math.round(a.z)-Math.round(c.z))>n+r))(0,l.getDistance)(a,c)>n+r||function(e,s,o,i){if(e.options.collisions&&s.options.collisions)switch(e.options.collisions.mode){case t.absorb:let l,a;l=e.getRadius(),a=s.getRadius(),!l&&a?e.destroy():l&&!a?s.destroy():l&&a&&(l>=a?d(e,l,s,a,o,i):d(s,a,e,l,o,i));break;case t.bounce:b(e,s);break;case t.destroy:let n,c;e.unbreakable||s.unbreakable||b(e,s),n=e.getRadius(),c=s.getRadius(),!n&&c?e.destroy():n&&!c?s.destroy():n&&c&&(e.getRadius()>=s.getRadius()?s:e).destroy()}}(e,s,o,i.retina.pixelRatio)}}isEnabled(e){return!!e.options.collisions?.enable}loadParticlesOptions(e,...s){for(let o of(e.collisions??=new r,s))e.collisions.load(o?.collisions)}reset(){}}}}]);
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_interaction_particles_collisions=this.webpackChunk_tsparticles_interaction_particles_collisions||[]).push([[235],{235(i,t,e){e.r(t),e.d(t,{OverlapPlugin:()=>s});class s{id="overlap";async getPlugin(i){let{OverlapPluginInstance:t}=await e.e(860).then(e.bind(e,860));return new t(i)}loadOptions(){}needsPlugin(){return!0}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_interaction_particles_collisions=this.webpackChunk_tsparticles_interaction_particles_collisions||[]).push([[207],{207(i,t,e){e.r(t),e.d(t,{OverlapPlugin:()=>s});class s{id="overlap";async getPlugin(i){let{OverlapPluginInstance:t}=await e.e(328).then(e.bind(e,328));return new t(i)}loadOptions(){}needsPlugin(){return!0}}}}]);
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_interaction_particles_collisions=this.webpackChunk_tsparticles_interaction_particles_collisions||[]).push([[860],{860(t,i,e){e.d(i,{OverlapPluginInstance:()=>r});var s=e(303);class r{_container;constructor(t){this._container=t}checkParticlePosition(t,i,e){return!this._hasOverlaps(t,i,e)}_hasOverlaps=(t,i,e)=>{let r=t.options.collisions;if(!r?.enable)return!1;let n=r.overlap;if(n.enable)return!1;let a=n.retries;if(a>=0&&e>a)throw Error("Particle is overlapping and can't be placed");return!!this._container.particles.find(e=>(0,s.getDistance)(i,e.position)<t.getRadius()+e.getRadius())}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_interaction_particles_collisions=this.webpackChunk_tsparticles_interaction_particles_collisions||[]).push([[328],{328(t,i,e){e.d(i,{OverlapPluginInstance:()=>r});var s=e(303);class r{_container;constructor(t){this._container=t}checkParticlePosition(t,i,e){return!this._hasOverlaps(t,i,e)}_hasOverlaps=(t,i,e)=>{let r=t.options.collisions;if(!r?.enable)return!1;let n=r.overlap;if(n.enable)return!1;let a=n.retries;if(a>=0&&e>a)throw Error("Particle is overlapping and can't be placed");return!!this._container.particles.find(e=>(0,s.getDistance)(i,e.position)<t.getRadius()+e.getRadius())}}}}]);
package/browser/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  export async function loadParticlesCollisionsInteraction(engine) {
2
- engine.checkVersion("4.0.0-beta.0");
3
- await engine.register(async (e) => {
2
+ engine.checkVersion("4.0.0-beta.1");
3
+ await engine.pluginManager.register(async (e) => {
4
4
  const [{ ensureInteractivityPluginLoaded }, { OverlapPlugin },] = await Promise.all([
5
5
  import("@tsparticles/plugin-interactivity"),
6
6
  import("./OverlapPlugin.js"),
7
7
  ]);
8
8
  ensureInteractivityPluginLoaded(e);
9
- e.addPlugin(new OverlapPlugin());
10
- e.addInteractor?.("particlesCollisions", async (container) => {
9
+ e.pluginManager.addPlugin(new OverlapPlugin());
10
+ e.pluginManager.addInteractor?.("particlesCollisions", async (container) => {
11
11
  const { Collider } = await import("./Collider.js");
12
12
  return new Collider(container);
13
13
  });
package/cjs/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  export async function loadParticlesCollisionsInteraction(engine) {
2
- engine.checkVersion("4.0.0-beta.0");
3
- await engine.register(async (e) => {
2
+ engine.checkVersion("4.0.0-beta.1");
3
+ await engine.pluginManager.register(async (e) => {
4
4
  const [{ ensureInteractivityPluginLoaded }, { OverlapPlugin },] = await Promise.all([
5
5
  import("@tsparticles/plugin-interactivity"),
6
6
  import("./OverlapPlugin.js"),
7
7
  ]);
8
8
  ensureInteractivityPluginLoaded(e);
9
- e.addPlugin(new OverlapPlugin());
10
- e.addInteractor?.("particlesCollisions", async (container) => {
9
+ e.pluginManager.addPlugin(new OverlapPlugin());
10
+ e.pluginManager.addInteractor?.("particlesCollisions", async (container) => {
11
11
  const { Collider } = await import("./Collider.js");
12
12
  return new Collider(container);
13
13
  });
@@ -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
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.1
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.1
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.1
8
8
  */
9
9
  "use strict";
10
10
  /*
package/esm/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  export async function loadParticlesCollisionsInteraction(engine) {
2
- engine.checkVersion("4.0.0-beta.0");
3
- await engine.register(async (e) => {
2
+ engine.checkVersion("4.0.0-beta.1");
3
+ await engine.pluginManager.register(async (e) => {
4
4
  const [{ ensureInteractivityPluginLoaded }, { OverlapPlugin },] = await Promise.all([
5
5
  import("@tsparticles/plugin-interactivity"),
6
6
  import("./OverlapPlugin.js"),
7
7
  ]);
8
8
  ensureInteractivityPluginLoaded(e);
9
- e.addPlugin(new OverlapPlugin());
10
- e.addInteractor?.("particlesCollisions", async (container) => {
9
+ e.pluginManager.addPlugin(new OverlapPlugin());
10
+ e.pluginManager.addInteractor?.("particlesCollisions", async (container) => {
11
11
  const { Collider } = await import("./Collider.js");
12
12
  return new Collider(container);
13
13
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/interaction-particles-collisions",
3
- "version": "4.0.0-beta.0",
3
+ "version": "4.0.0-beta.1",
4
4
  "description": "tsParticles collisions particles interaction",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -87,8 +87,8 @@
87
87
  "./package.json": "./package.json"
88
88
  },
89
89
  "dependencies": {
90
- "@tsparticles/engine": "4.0.0-beta.0",
91
- "@tsparticles/plugin-interactivity": "4.0.0-beta.0"
90
+ "@tsparticles/engine": "4.0.0-beta.1",
91
+ "@tsparticles/plugin-interactivity": "4.0.0-beta.1"
92
92
  },
93
93
  "publishConfig": {
94
94
  "access": "public"