tsparticles 1.42.2 → 1.42.3

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.
Files changed (73) hide show
  1. package/Core/Canvas.js +12 -5
  2. package/Core/Particles.js +2 -3
  3. package/browser/Core/Canvas.js +12 -5
  4. package/browser/Core/Particles.js +3 -4
  5. package/esm/Core/Canvas.js +12 -5
  6. package/esm/Core/Particles.js +2 -3
  7. package/package.json +1 -1
  8. package/report.html +2 -2
  9. package/report.slim.html +2 -2
  10. package/tsparticles.engine.js +11 -8
  11. package/tsparticles.engine.min.js +2 -2
  12. package/tsparticles.interaction.external.attract.js +11 -8
  13. package/tsparticles.interaction.external.attract.min.js +1 -1
  14. package/tsparticles.interaction.external.bounce.js +11 -8
  15. package/tsparticles.interaction.external.bounce.min.js +1 -1
  16. package/tsparticles.interaction.external.bubble.js +11 -8
  17. package/tsparticles.interaction.external.bubble.min.js +1 -1
  18. package/tsparticles.interaction.external.connect.js +11 -8
  19. package/tsparticles.interaction.external.connect.min.js +1 -1
  20. package/tsparticles.interaction.external.grab.js +11 -8
  21. package/tsparticles.interaction.external.grab.min.js +1 -1
  22. package/tsparticles.interaction.external.repulse.js +11 -8
  23. package/tsparticles.interaction.external.repulse.min.js +1 -1
  24. package/tsparticles.interaction.external.trail.js +11 -8
  25. package/tsparticles.interaction.external.trail.min.js +1 -1
  26. package/tsparticles.interaction.particles.attract.js +11 -8
  27. package/tsparticles.interaction.particles.attract.min.js +1 -1
  28. package/tsparticles.interaction.particles.collisions.js +11 -8
  29. package/tsparticles.interaction.particles.collisions.min.js +1 -1
  30. package/tsparticles.interaction.particles.links.js +11 -8
  31. package/tsparticles.interaction.particles.links.min.js +1 -1
  32. package/tsparticles.js +11 -8
  33. package/tsparticles.min.js +2 -2
  34. package/tsparticles.pathseg.min.js +1 -1
  35. package/tsparticles.plugins.absorbers.js +11 -8
  36. package/tsparticles.plugins.absorbers.min.js +1 -1
  37. package/tsparticles.plugins.emitters.js +11 -8
  38. package/tsparticles.plugins.emitters.min.js +1 -1
  39. package/tsparticles.plugins.polygonMask.js +11 -8
  40. package/tsparticles.plugins.polygonMask.min.js +1 -1
  41. package/tsparticles.shape.circle.min.js +1 -1
  42. package/tsparticles.shape.image.js +11 -8
  43. package/tsparticles.shape.image.min.js +1 -1
  44. package/tsparticles.shape.line.min.js +1 -1
  45. package/tsparticles.shape.polygon.min.js +1 -1
  46. package/tsparticles.shape.square.min.js +1 -1
  47. package/tsparticles.shape.star.min.js +1 -1
  48. package/tsparticles.shape.text.js +11 -8
  49. package/tsparticles.shape.text.min.js +1 -1
  50. package/tsparticles.slim.js +11 -8
  51. package/tsparticles.slim.min.js +2 -2
  52. package/tsparticles.updater.angle.js +11 -8
  53. package/tsparticles.updater.angle.min.js +1 -1
  54. package/tsparticles.updater.color.js +11 -8
  55. package/tsparticles.updater.color.min.js +1 -1
  56. package/tsparticles.updater.life.js +11 -8
  57. package/tsparticles.updater.life.min.js +1 -1
  58. package/tsparticles.updater.opacity.js +11 -8
  59. package/tsparticles.updater.opacity.min.js +1 -1
  60. package/tsparticles.updater.outModes.js +11 -8
  61. package/tsparticles.updater.outModes.min.js +1 -1
  62. package/tsparticles.updater.roll.js +11 -8
  63. package/tsparticles.updater.roll.min.js +1 -1
  64. package/tsparticles.updater.size.js +11 -8
  65. package/tsparticles.updater.size.min.js +1 -1
  66. package/tsparticles.updater.strokeColor.js +11 -8
  67. package/tsparticles.updater.strokeColor.min.js +1 -1
  68. package/tsparticles.updater.tilt.js +11 -8
  69. package/tsparticles.updater.tilt.min.js +1 -1
  70. package/tsparticles.updater.wobble.js +11 -8
  71. package/tsparticles.updater.wobble.min.js +1 -1
  72. package/umd/Core/Canvas.js +12 -5
  73. package/umd/Core/Particles.js +2 -3
@@ -2079,11 +2079,16 @@
2079
2079
  const container = this.container;
2080
2080
  const pxRatio = container.retina.pixelRatio;
2081
2081
  const size = container.canvas.size;
2082
+ const newSize = {
2083
+ width: this.element.offsetWidth * pxRatio,
2084
+ height: this.element.offsetHeight * pxRatio
2085
+ };
2086
+ if (newSize.height === size.height && newSize.width === size.width && newSize.height === this.element.height && newSize.width === this.element.width) {
2087
+ return;
2088
+ }
2082
2089
  const oldSize = Object.assign({}, size);
2083
- size.width = this.element.offsetWidth * pxRatio;
2084
- size.height = this.element.offsetHeight * pxRatio;
2085
- this.element.width = size.width;
2086
- this.element.height = size.height;
2090
+ this.element.width = size.width = this.element.offsetWidth * pxRatio;
2091
+ this.element.height = size.height = this.element.offsetHeight * pxRatio;
2087
2092
  if (this.container.started) {
2088
2093
  this.resizeFactor = {
2089
2094
  width: size.width / oldSize.width,
@@ -2214,7 +2219,6 @@
2214
2219
  a: cover.opacity
2215
2220
  };
2216
2221
  this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);
2217
- console.log(this.coverColorStyle);
2218
2222
  }
2219
2223
  }
2220
2224
  initTrail() {
@@ -4401,9 +4405,7 @@
4401
4405
  delete container.canvas.resizeFactor;
4402
4406
  }
4403
4407
  async draw(delta) {
4404
- const container = this.container;
4405
- container.canvas.clear();
4406
- const canvasSize = this.container.canvas.size;
4408
+ const container = this.container, canvasSize = this.container.canvas.size;
4407
4409
  this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, canvasSize.width * 3 / 2, canvasSize.height * 3 / 2), 4);
4408
4410
  await this.update(delta);
4409
4411
  if (this.needsSort) {
@@ -4411,6 +4413,7 @@
4411
4413
  this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;
4412
4414
  this.needsSort = false;
4413
4415
  }
4416
+ container.canvas.clear();
4414
4417
  for (const [, plugin] of container.plugins) {
4415
4418
  container.canvas.drawPlugin(plugin, delta);
4416
4419
  }
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.42.2 by Matteo Bruni */
1
+ /*! tsParticles v1.42.3 by Matteo Bruni */
2
2
  !function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var i=n();for(var e in i)("object"==typeof exports?exports:t)[e]=i[e]}}(window,(function(){return function(){"use strict";var t={d:function(n,i){for(var e in i)t.o(i,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:i[e]})},o:function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};function i(t,n,i,e){return Math.floor((t*i+n*e)/(i+e))}function e(t){const n=r(t);let i=s(t);return n===i&&(i=0),Math.random()*(n-i)+i}function o(t){return"number"==typeof t?t:e(t)}function s(t){return"number"==typeof t?t:t.min}function r(t){return"number"==typeof t?t:t.max}function a(t,n){if(t===n||void 0===n&&"number"==typeof t)return t;const i=s(t),e=r(t);return void 0!==n?{min:Math.min(i,n),max:Math.max(e,n)}:a(i,e)}function l(t,n){const i=t.x-n.x,e=t.y-n.y;return{dx:i,dy:e,distance:Math.sqrt(i*i+e*e)}}function c(t,n){return l(t,n).distance}function u(t,n,i=!0){return t[void 0!==n&&i?n%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function d(t,n,i){let e=i;return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function h(t){if(t.startsWith("rgb")){const n=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?{a:n.length>4?parseFloat(n[5]):1,b:parseInt(n[3],10),g:parseInt(n[2],10),r:parseInt(n[1],10)}:void 0}if(t.startsWith("hsl")){const n=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=p(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),l:parseInt(n[3],10),s:parseInt(n[2],10)}):void 0}if(t.startsWith("hsv")){const n=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=y(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),s:parseInt(n[2],10),v:parseInt(n[3],10)}):void 0}{const n=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,i=t.replace(n,((t,n,i,e,o)=>n+n+i+i+e+e+(void 0!==o?o+o:""))),e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(i);return e?{a:void 0!==e[4]?parseInt(e[4],16)/255:1,b:parseInt(e[3],16),g:parseInt(e[2],16),r:parseInt(e[1],16)}:void 0}}function f(t,n,i=!0){var e,o,s;if(void 0===t)return;const r="string"==typeof t?{value:t}:t;let a;if("string"==typeof r.value)a=r.value===C.randomColorValue?g():function(t){return h(t)}(r.value);else if(r.value instanceof Array){a=f({value:u(r.value,n,i)})}else{const t=r.value,n=null!==(e=t.rgb)&&void 0!==e?e:r.value;if(void 0!==n.r)a=n;else{const n=null!==(o=t.hsl)&&void 0!==o?o:r.value;if(void 0!==n.h&&void 0!==n.l)a=p(n);else{const n=null!==(s=t.hsv)&&void 0!==s?s:r.value;void 0!==n.h&&void 0!==n.v&&(a=y(n))}}}return a}function p(t){const n={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(0===i.s)n.b=i.l,n.g=i.l,n.r=i.l;else{const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,e=2*i.l-t;n.r=d(e,t,i.h+1/3),n.g=d(e,t,i.h),n.b=d(e,t,i.h-1/3)}return n.r=Math.floor(255*n.r),n.g=Math.floor(255*n.g),n.b=Math.floor(255*n.b),n}function y(t){const n={b:0,g:0,r:0},i=t.h/60,e=t.s/100,o=t.v/100,s=o*e,r=s*(1-Math.abs(i%2-1));let a;if(i>=0&&i<=1?a={r:s,g:r,b:0}:i>1&&i<=2?a={r:r,g:s,b:0}:i>2&&i<=3?a={r:0,g:s,b:r}:i>3&&i<=4?a={r:0,g:r,b:s}:i>4&&i<=5?a={r:r,g:0,b:s}:i>5&&i<=6&&(a={r:s,g:0,b:r}),a){const t=o-s;n.r=Math.floor(255*(a.r+t)),n.g=Math.floor(255*(a.g+t)),n.b=Math.floor(255*(a.b+t))}return n}function g(t){const n=null!=t?t:0;return{b:Math.floor(e(a(n,256))),g:Math.floor(e(a(n,256))),r:Math.floor(e(a(n,256)))}}function v(t,n){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=n?n:1})`}function x(t,n,e){var o,s;if(e===C.randomColorValue)return g();if("mid"!==e)return e;{const e=null!==(o=t.getFillColor())&&void 0!==o?o:t.getStrokeColor(),r=null!==(s=null==n?void 0:n.getFillColor())&&void 0!==s?s:null==n?void 0:n.getStrokeColor();if(e&&r&&n)return function(t,n,e,o){let s=t,r=n;return void 0===s.r&&(s=p(t)),void 0===r.r&&(r=p(n)),{b:i(s.b,r.b,e,o),g:i(s.g,r.g,e,o),r:i(s.r,r.r,e,o)}}(e,r,t.getRadius(),n.getRadius());{const t=null!=e?e:r;if(t)return p(t)}}}function k(t,n,i){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.closePath()}t.r(n),t.d(n,{loadParticlesLinksInteraction:function(){return W}});class b{constructor(t,n){this.position={x:t,y:n}}}class w extends b{constructor(t,n,i){super(t,n),this.radius=i}contains(t){return c(t,this.position)<=this.radius}intersects(t){const n=t,i=t,e=this.position,o=t.position,s=Math.abs(o.x-e.x),r=Math.abs(o.y-e.y),a=this.radius;if(void 0!==i.radius){return a+i.radius>Math.sqrt(s*s+r+r)}if(void 0!==n.size){const t=n.size.width,i=n.size.height,e=Math.pow(s-t,2)+Math.pow(r-i,2);return!(s>a+t||r>a+i)&&(s<=t||r<=i||e<=a*a)}return!1}}class m extends b{constructor(t,n,i,e){super(t,n),this.size={height:e,width:i}}contains(t){const n=this.size.width,i=this.size.height,e=this.position;return t.x>=e.x&&t.x<=e.x+n&&t.y>=e.y&&t.y<=e.y+i}intersects(t){const n=t,i=t,e=this.size.width,o=this.size.height,s=this.position,r=t.position;if(void 0!==i.radius)return i.intersects(this);if(void 0!==n.size){const t=n.size,i=t.width,a=t.height;return r.x<s.x+e&&r.x+i>s.x&&r.y<s.y+o&&r.y+a>s.y}return!1}}class M extends w{constructor(t,n,i,e){super(t,n,i),this.canvasSize=e,this.canvasSize={height:e.height,width:e.width}}contains(t){if(super.contains(t))return!0;const n={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(n))return!0;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return!0;const e={x:t.x,y:t.y-this.canvasSize.height};return super.contains(e)}intersects(t){if(super.intersects(t))return!0;const n=t,i=t,e={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new w(e.x,e.y,2*i.radius);return super.intersects(t)}if(void 0!==n.size){const t=new m(e.x,e.y,2*n.size.width,2*n.size.height);return super.intersects(t)}return!1}}class C{}C.generatedAttribute="generated",C.randomColorValue="random",C.midColorValue="mid",C.touchEndEvent="touchend",C.mouseDownEvent="mousedown",C.mouseUpEvent="mouseup",C.mouseMoveEvent="mousemove",C.touchStartEvent="touchstart",C.touchMoveEvent="touchmove",C.mouseLeaveEvent="mouseleave",C.mouseOutEvent="mouseout",C.touchCancelEvent="touchcancel",C.resizeEvent="resize",C.visibilityChangeEvent="visibilitychange",C.noPolygonDataLoaded="No polygon data loaded.",C.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function z(t,n,i,e,o){let s=c(t,n);if(!o||s<=i)return s;if(s=c(t,{x:n.x-e.width,y:n.y}),s<=i)return s;if(s=c(t,{x:n.x-e.width,y:n.y-e.height}),s<=i)return s;return s=c(t,{x:n.x,y:n.y-e.height}),s}new WeakMap;class P extends class{constructor(t){this.container=t,this.type=1}}{constructor(t){super(t)}isEnabled(t){return t.options.links.enable}reset(){}async interact(t){var n;t.links=[];const i=t.getPosition(),e=this.container,o=e.canvas.size;if(i.x<0||i.y<0||i.x>o.width||i.y>o.height)return;const s=t.options.links,r=s.opacity,a=null!==(n=t.retina.linksDistance)&&void 0!==n?n:e.retina.linksDistance,l=s.warp,c=l?new M(i.x,i.y,a,o):new w(i.x,i.y,a),u=e.particles.quadTree.query(c);for(const n of u){const e=n.options.links;if(t===n||!e.enable||s.id!==e.id||n.spawning||n.destroyed||-1!==t.links.map((t=>t.destination)).indexOf(n)||-1!==n.links.map((t=>t.destination)).indexOf(t))continue;const c=n.getPosition();if(c.x<0||c.y<0||c.x>o.width||c.y>o.height)continue;const u=z(i,c,a,o,l&&e.warp);if(u>a)return;const d=(1-u/a)*r;this.setColor(t),t.links.push({destination:n,opacity:d})}}setColor(t){const n=this.container,i=t.options.links;let e=void 0===i.id?n.particles.linksColor:n.particles.linksColors.get(i.id);if(!e){e=function(t,n,i){const e="string"==typeof t?t:t.value;return e===C.randomColorValue?i?f({value:e}):n?C.randomColorValue:C.midColorValue:f({value:e})}(i.color,i.blink,i.consent),void 0===i.id?n.particles.linksColor=e:n.particles.linksColors.set(i.id,e)}}}class S{constructor(t){this.container=t}particleCreated(t){t.links=[]}particleDestroyed(t){t.links=[]}drawParticle(t,n){const i=n,e=this.container,o=e.particles,s=n.options;if(i.links.length>0){t.save();const n=i.links.filter((t=>e.particles.getLinkFrequency(i,t.destination)<=s.links.frequency));for(const t of n){const r=t.destination;if(s.links.triangles.enable){const a=n.map((t=>t.destination)),l=r.links.filter((t=>e.particles.getLinkFrequency(r,t.destination)<=r.options.links.frequency&&a.indexOf(t.destination)>=0));if(l.length)for(const n of l){const e=n.destination;o.getTriangleFrequency(i,r,e)>s.links.triangles.frequency||this.drawLinkTriangle(i,t,n)}}t.opacity>0&&e.retina.linksWidth>0&&this.drawLinkLine(i,t)}t.restore()}}drawLinkTriangle(t,n,i){var e;const o=this.container,s=o.actualOptions,r=n.destination,a=i.destination,l=t.options.links.triangles,u=null!==(e=l.opacity)&&void 0!==e?e:(n.opacity+i.opacity)/2;if(u<=0)return;const d=t.getPosition(),h=r.getPosition(),p=a.getPosition();o.canvas.draw((n=>{if(c(d,h)>o.retina.linksDistance||c(p,h)>o.retina.linksDistance||c(p,d)>o.retina.linksDistance)return;let i=f(l.color);if(!i){const n=t.options.links,e=void 0!==n.id?o.particles.linksColors.get(n.id):o.particles.linksColor;i=x(t,r,e)}i&&function(t,n,i,e,o,s,r,a){!function(t,n,i,e){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.lineTo(e.x,e.y),t.closePath()}(t,n,i,e),o&&(t.globalCompositeOperation=s),t.fillStyle=v(r,a),t.fill()}(n,d,h,p,s.backgroundMask.enable,s.backgroundMask.composite,i,u)}))}drawLinkLine(t,n){const i=this.container,e=i.actualOptions,s=n.destination;let r=n.opacity;const a=t.getPosition(),u=s.getPosition();i.canvas.draw((n=>{var d,h;let p;const y=t.options.twinkle.lines;if(y.enable){const t=y.frequency,n=f(y.color);Math.random()<t&&void 0!==n&&(p=n,r=o(y.opacity))}if(!p){const n=t.options.links,e=void 0!==n.id?i.particles.linksColors.get(n.id):i.particles.linksColor;p=x(t,s,e)}if(!p)return;const g=null!==(d=t.retina.linksWidth)&&void 0!==d?d:i.retina.linksWidth,b=null!==(h=t.retina.linksDistance)&&void 0!==h?h:i.retina.linksDistance;!function(t,n,i,e,o,s,r,a,u,d,h,p){let y=!1;if(c(i,e)<=o)k(t,i,e),y=!0;else if(r){let n,r;const a=l(i,{x:e.x-s.width,y:e.y});if(a.distance<=o){const t=i.y-a.dy/a.dx*i.x;n={x:0,y:t},r={x:s.width,y:t}}else{const t=l(i,{x:e.x,y:e.y-s.height});if(t.distance<=o){const e=-(i.y-t.dy/t.dx*i.x)/(t.dy/t.dx);n={x:e,y:0},r={x:e,y:s.height}}else{const t=l(i,{x:e.x-s.width,y:e.y-s.height});if(t.distance<=o){const e=i.y-t.dy/t.dx*i.x;n={x:-e/(t.dy/t.dx),y:e},r={x:n.x+s.width,y:n.y+s.height}}}}n&&r&&(k(t,i,n),k(t,e,r),y=!0)}if(y){if(t.lineWidth=n,a&&(t.globalCompositeOperation=u),t.strokeStyle=v(d,h),p.enable){const n=f(p.color);n&&(t.shadowBlur=p.blur,t.shadowColor=v(n))}t.stroke()}}(n,g,a,u,b,i.canvas.size,t.options.links.warp,e.backgroundMask.enable,e.backgroundMask.composite,p,r,t.options.links.shadow)}))}}class I{constructor(){this.id="links"}getPlugin(t){return new S(t)}needsPlugin(){return!0}loadOptions(){}}async function W(t){await async function(t){await t.addInteractor("particlesLinks",(t=>new P(t)))}(t),await async function(t){const n=new I;await t.addPlugin(n)}(t)}return n}()}));
package/tsparticles.js CHANGED
@@ -2825,11 +2825,16 @@
2825
2825
  const container = this.container;
2826
2826
  const pxRatio = container.retina.pixelRatio;
2827
2827
  const size = container.canvas.size;
2828
+ const newSize = {
2829
+ width: this.element.offsetWidth * pxRatio,
2830
+ height: this.element.offsetHeight * pxRatio
2831
+ };
2832
+ if (newSize.height === size.height && newSize.width === size.width && newSize.height === this.element.height && newSize.width === this.element.width) {
2833
+ return;
2834
+ }
2828
2835
  const oldSize = Object.assign({}, size);
2829
- size.width = this.element.offsetWidth * pxRatio;
2830
- size.height = this.element.offsetHeight * pxRatio;
2831
- this.element.width = size.width;
2832
- this.element.height = size.height;
2836
+ this.element.width = size.width = this.element.offsetWidth * pxRatio;
2837
+ this.element.height = size.height = this.element.offsetHeight * pxRatio;
2833
2838
  if (this.container.started) {
2834
2839
  this.resizeFactor = {
2835
2840
  width: size.width / oldSize.width,
@@ -2960,7 +2965,6 @@
2960
2965
  a: cover.opacity
2961
2966
  };
2962
2967
  this.coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);
2963
- console.log(this.coverColorStyle);
2964
2968
  }
2965
2969
  }
2966
2970
  initTrail() {
@@ -6169,9 +6173,7 @@
6169
6173
  delete container.canvas.resizeFactor;
6170
6174
  }
6171
6175
  async draw(delta) {
6172
- const container = this.container;
6173
- container.canvas.clear();
6174
- const canvasSize = this.container.canvas.size;
6176
+ const container = this.container, canvasSize = this.container.canvas.size;
6175
6177
  this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, canvasSize.width * 3 / 2, canvasSize.height * 3 / 2), 4);
6176
6178
  await this.update(delta);
6177
6179
  if (this.needsSort) {
@@ -6179,6 +6181,7 @@
6179
6181
  this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;
6180
6182
  this.needsSort = false;
6181
6183
  }
6184
+ container.canvas.clear();
6182
6185
  for (const [, plugin] of container.plugins) {
6183
6186
  container.canvas.drawPlugin(plugin, delta);
6184
6187
  }