@tsparticles/engine 3.5.0 → 3.6.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.
@@ -134,7 +134,7 @@
134
134
  options.manualParticles.forEach(p => this.addParticle(p.position ? (0, Utils_js_1.getPosition)(p.position, container.canvas.size) : undefined, p.options));
135
135
  }
136
136
  addParticle(position, overrideOptions, group, initializer) {
137
- const limitMode = this._container.actualOptions.particles.number.limit.mode, limit = group === undefined ? this._limit : this._groupLimits.get(group) ?? this._limit, currentCount = this.count, minLimit = 0;
137
+ const limitMode = this._container.actualOptions.particles.number.limit.mode, limit = group === undefined ? this._limit : (this._groupLimits.get(group) ?? this._limit), currentCount = this.count, minLimit = 0;
138
138
  if (limit > minLimit) {
139
139
  switch (limitMode) {
140
140
  case LimitMode_js_1.LimitMode.delete: {
@@ -168,7 +168,7 @@
168
168
  const container = this._container, canvas = container.canvas;
169
169
  canvas.clear();
170
170
  this.update(delta);
171
- for (const [, plugin] of container.plugins) {
171
+ for (const plugin of container.plugins.values()) {
172
172
  canvas.drawPlugin(plugin, delta);
173
173
  }
174
174
  for (const p of this._zArray) {
@@ -193,7 +193,7 @@
193
193
  this._needsSort = false;
194
194
  await this.initPlugins();
195
195
  let handled = false;
196
- for (const [, plugin] of container.plugins) {
196
+ for (const plugin of container.plugins.values()) {
197
197
  handled = plugin.particlesInitialization?.() ?? handled;
198
198
  if (handled) {
199
199
  break;
@@ -221,7 +221,7 @@
221
221
  this.movers = await this._engine.getMovers(container, true);
222
222
  this.updaters = await this._engine.getUpdaters(container, true);
223
223
  await this._interactionManager.init();
224
- for (const [, pathGenerator] of container.pathGenerators) {
224
+ for (const pathGenerator of container.pathGenerators.values()) {
225
225
  pathGenerator.init(container);
226
226
  }
227
227
  }
@@ -245,7 +245,8 @@
245
245
  }
246
246
  let deleted = 0;
247
247
  for (let i = index; deleted < quantity && i < this.count; i++) {
248
- if (this._removeParticle(i--, group, override)) {
248
+ if (this._removeParticle(i, group, override)) {
249
+ i--;
249
250
  deleted++;
250
251
  }
251
252
  }
@@ -271,10 +272,10 @@
271
272
  update(delta) {
272
273
  const container = this._container, particlesToDelete = new Set();
273
274
  this.quadTree = new QuadTree_js_1.QuadTree(qTreeRectangle(container.canvas.size), qTreeCapacity);
274
- for (const [, pathGenerator] of container.pathGenerators) {
275
+ for (const pathGenerator of container.pathGenerators.values()) {
275
276
  pathGenerator.update();
276
277
  }
277
- for (const [, plugin] of container.plugins) {
278
+ for (const plugin of container.plugins.values()) {
278
279
  plugin.update?.(delta);
279
280
  }
280
281
  const resizeFactor = this._resizeFactor;
@@ -287,7 +288,7 @@
287
288
  }
288
289
  particle.ignoresResizeRatio = false;
289
290
  this._interactionManager.reset(particle);
290
- for (const [, plugin] of this._container.plugins) {
291
+ for (const plugin of this._container.plugins.values()) {
291
292
  if (particle.destroyed) {
292
293
  break;
293
294
  }
@@ -199,7 +199,7 @@
199
199
  if (!mousePosition || !options.interactivity.events.onClick.enable) {
200
200
  return;
201
201
  }
202
- for (const [, plugin] of container.plugins) {
202
+ for (const plugin of container.plugins.values()) {
203
203
  if (!plugin.clickPositionValid) {
204
204
  continue;
205
205
  }
@@ -55,8 +55,8 @@
55
55
  cos: Math.cos(angle),
56
56
  }, rotating = !!angle, identity = 1, transformData = {
57
57
  a: rotateData.cos * (transform.a ?? defaultTransform.a),
58
- b: rotating ? rotateData.sin * (transform.b ?? identity) : transform.b ?? defaultTransform.b,
59
- c: rotating ? -rotateData.sin * (transform.c ?? identity) : transform.c ?? defaultTransform.c,
58
+ b: rotating ? rotateData.sin * (transform.b ?? identity) : (transform.b ?? defaultTransform.b),
59
+ c: rotating ? -rotateData.sin * (transform.c ?? identity) : (transform.c ?? defaultTransform.c),
60
60
  d: rotateData.cos * (transform.d ?? defaultTransform.d),
61
61
  };
62
62
  context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);
@@ -46,7 +46,7 @@
46
46
  colorManagers.set(manager.key, manager);
47
47
  }
48
48
  function stringToRgba(input) {
49
- for (const [, manager] of colorManagers) {
49
+ for (const manager of colorManagers.values()) {
50
50
  if (input.startsWith(manager.stringPrefix)) {
51
51
  return manager.parseString(input);
52
52
  }
@@ -78,7 +78,7 @@
78
78
  value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
79
79
  });
80
80
  }
81
- for (const [, manager] of colorManagers) {
81
+ for (const manager of colorManagers.values()) {
82
82
  const res = manager.handleRangeColor(color);
83
83
  if (res) {
84
84
  return res;
@@ -98,7 +98,7 @@
98
98
  value: (0, Utils_js_1.itemFromArray)(color.value, index, useIndex),
99
99
  });
100
100
  }
101
- for (const [, manager] of colorManagers) {
101
+ for (const manager of colorManagers.values()) {
102
102
  const res = manager.handleColor(color);
103
103
  if (res) {
104
104
  return res;