From 702b6dff041127693a8c1025a03b23e85dc310fe Mon Sep 17 00:00:00 2001 From: Xevion Date: Sun, 3 Apr 2022 20:20:40 -0500 Subject: [PATCH] Re-build & publish --- docs/banner.jpeg | Bin 0 -> 135166 bytes docs/index.html | 2 +- docs/js/{app.725c4757.js => app.2bfe5028.js} | 4 ++-- docs/js/app.2bfe5028.js.map | 1 + docs/js/app.725c4757.js.map | 1 - 5 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 docs/banner.jpeg rename docs/js/{app.725c4757.js => app.2bfe5028.js} (62%) create mode 100644 docs/js/app.2bfe5028.js.map delete mode 100644 docs/js/app.725c4757.js.map diff --git a/docs/banner.jpeg b/docs/banner.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..32eb86fea2be2ad533142a149f0aa208f731031c GIT binary patch literal 135166 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 j7m(5plpOH&+rIm+`T(EzU6)G literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html index 2a10271..fbc31bd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -lovely

\ No newline at end of file +lovely
\ No newline at end of file diff --git a/docs/js/app.725c4757.js b/docs/js/app.2bfe5028.js similarity index 62% rename from docs/js/app.725c4757.js rename to docs/js/app.2bfe5028.js index ea9ac5c..54bce5b 100644 --- a/docs/js/app.725c4757.js +++ b/docs/js/app.2bfe5028.js @@ -1,2 +1,2 @@ -(function(){var t={2398:function(t,n,i){"use strict";var e=i(9242),r=i(3396);const o={id:"pixi"};function s(t,n,i,e,s,u){return(0,r.wg)(),(0,r.iD)("canvas",o)}var u=i(1767),h=i(2482);const c={linear:function(){return function(t){return t}},inQuad:function(){return function(t){return t*t}},outQuad:function(){return function(t){return t*(2-t)}},inOutQuad:function(){return function(t){return t*=2,t<1?.5*t*t:-.5*(--t*(t-2)-1)}},inCubic:function(){return function(t){return t*t*t}},outCubic:function(){return function(t){return--t*t*t+1}},inOutCubic:function(){return function(t){return t*=2,t<1?.5*t*t*t:(t-=2,.5*(t*t*t+2))}},inQuart:function(){return function(t){return t*t*t*t}},outQuart:function(){return function(t){return 1- --t*t*t*t}},inOutQuart:function(){return function(t){return t*=2,t<1?.5*t*t*t*t:(t-=2,-.5*(t*t*t*t-2))}},inQuint:function(){return function(t){return t*t*t*t*t}},outQuint:function(){return function(t){return--t*t*t*t*t+1}},inOutQuint:function(){return function(t){return t*=2,t<1?.5*t*t*t*t*t:(t-=2,.5*(t*t*t*t*t+2))}},inSine:function(){return function(t){return 1-Math.cos(t*Math.PI/2)}},outSine:function(){return function(t){return Math.sin(t*Math.PI/2)}},inOutSine:function(){return function(t){return.5*(1-Math.cos(Math.PI*t))}},inExpo:function(){return function(t){return 0===t?0:Math.pow(1024,t-1)}},outExpo:function(){return function(t){return 1===t?1:1-Math.pow(2,-10*t)}},inOutExpo:function(){return function(t){return 0===t?0:1===t?1:(t*=2,t<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1))))}},inCirc:function(){return function(t){return 1-Math.sqrt(1-t*t)}},outCirc:function(){return function(t){return Math.sqrt(1- --t*t)}},inOutCirc:function(){return function(t){return t*=2,t<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-2)*(t-2))+1)}},inElastic:function(t=.1,n=.4){return function(i){let e;return 0===i?0:1===i?1:(!t||t<1?(t=1,e=n/4):e=n*Math.asin(1/t)/(2*Math.PI),-t*Math.pow(2,10*(i-1))*Math.sin((i-1-e)*(2*Math.PI)/n))}},outElastic:function(t=.1,n=.4){return function(i){let e;return 0===i?0:1===i?1:(!t||t<1?(t=1,e=n/4):e=n*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*i)*Math.sin((i-e)*(2*Math.PI)/n)+1)}},inOutElastic:function(t=.1,n=.4){return function(i){let e;return 0===i?0:1===i?1:(!t||t<1?(t=1,e=n/4):e=n*Math.asin(1/t)/(2*Math.PI),i*=2,i<1?t*Math.pow(2,10*(i-1))*Math.sin((i-1-e)*(2*Math.PI)/n)*-.5:t*Math.pow(2,-10*(i-1))*Math.sin((i-1-e)*(2*Math.PI)/n)*.5+1)}},inBack:function(t){return function(n){let i=t||1.70158;return n*n*((i+1)*n-i)}},outBack:function(t){return function(n){let i=t||1.70158;return--n*n*((i+1)*n+i)+1}},inOutBack:function(t){return function(n){let i=1.525*(t||1.70158);return n*=2,n<1?n*n*((i+1)*n-i)*.5:.5*((n-2)*(n-2)*((i+1)*(n-2)+i)+2)}},inBounce:function(){return function(t){return 1-c.outBounce()(1-t)}},outBounce:function(){return function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?(t-=1.5/2.75,7.5625*t*t+.75):t<2.5/2.75?(t-=2.25/2.75,7.5625*t*t+.9375):(t-=2.625/2.75,7.5625*t*t+.984375)}},inOutBounce:function(){return function(t){return t<.5?.5*c.inBounce()(2*t):.5*c.outBounce()(2*t-1)+.5}},customArray:function(t){return t?function(t){return t}:c.linear()}};var a=c,f={getDistanceSimple(t,n,i,e){return Math.sqrt(Math.pow(t-i,2)+Math.pow(n-e,2))},getDistance(t,n){return Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2))},getAngle(t,n,i,e){let r=t-i,o=n-e,s=Math.atan2(o,-r);return s*=180/Math.PI,s<0&&(s+=360),s},toRadians(t){return t/180*Math.PI},toDegrees(t){return t/Math.PI*180},generateSections(t){let n=[],i=2*Math.PI/t;for(let e=0;ethis.getDistance(t,n){t*=this.TIME_SCALE;for(const[n,i]of this.sections.entries())for(const[e,r]of this.sectionSprites[n].entries()){r.totalTime+=t;let i=r.totalTime/this.TIME_PERIOD,o=this.EASING_FUNCTION(i);r.baselineScale{const i=new u.W20;let e=n.velocityPoint.x*this.MOTION_BLUR_SCALE,r=n.velocityPoint.y*this.MOTION_BLUR_SCALE;return i.filters=[new l.R([e,r],this.MOTION_BLUR_KERNEL_SIZE)],t.stage.addChild(i),i})),this.sectionSprites=Array.from(Array(n),(()=>new Array(0))),this.BASE_ANGLE_DEG=360/this.sectionCount,this.BASE_ANGLE_RAD=2*Math.PI/this.sectionCount,this.WIDTH=t.screen.width,this.HEIGHT=t.screen.height,this.LEFT=-this.WIDTH/2,this.RIGHT=this.WIDTH/2,this.TOP=-this.HEIGHT/2,this.BOTTOM=this.HEIGHT/2,this.POSITIONS={topLeft:new u.E9j(-this.WIDTH/2,this.HEIGHT/2),topRight:new u.E9j(this.WIDTH/2,this.HEIGHT/2),bottomLeft:new u.E9j(-this.WIDTH/2,-this.HEIGHT/2),bottomRight:new u.E9j(this.WIDTH/2,-this.HEIGHT/2),center:new u.E9j(0,0)},this.emojiList=["heart_with_arrow","heart_with_ribbon","heavy_heart_exclamation_mark_ornament","revolving_hearts","sparkles","sparkling_heart"],this.textures=this.emojiList.map((t=>u.xEZ.from(i(4807)(`./${t}.png`)))),this.BUFFER_LEFT=this.LEFT-this.REMOVAL_BUFFER,this.BUFFER_RIGHT=this.RIGHT+this.REMOVAL_BUFFER,this.BUFFER_TOP=this.TOP-this.REMOVAL_BUFFER,this.BUFFER_BOTTOM=this.BOTTOM+this.REMOVAL_BUFFER,this.MAX_DISTANCE=f.getDistance(this.POSITIONS.topLeft,this.POSITIONS.center),this.total_sprites=0,this.MAX_RADIUS=Math.min(this.app.screen.width,this.app.screen.height)*(1-this.EDGE_BUFFER),this.sprite_trash=[]}generatePoint(){let t=p.pointInCircle(new u.E9j(0,0),this.MIN_RADIUS,this.MAX_RADIUS),n=null;this.sprite_trash.length<1?n=new u.jyi(p.choice(this.textures)):(n=this.sprite_trash.shift(),n.visible=!0),n.anchor.set(.5,.5),n.x=t.x,n.y=t.y,n.baselineScale=p.uniform(.05,.12),n.scale.set(0,0);const i=f.getAngle(0,0,t.x,t.y)*Math.PI/180,e=Math.floor(i/this.BASE_ANGLE_RAD),r=this.VELOCITY_SCALE*p.uniform(.8,1.2);return n.velocityX=Math.cos(i)*r,n.velocityY=Math.sin(i)*r*-1,n.totalTime=0,this.sections[e].addChild(n),this.sectionSprites[e].push(n),this.total_sprites++,n}outside(t){return t.xthis.BUFFER_RIGHT||t.y>this.BUFFER_BOTTOM||t.y=o)&&Object.keys(i.O).every((function(t){return i.O[t](e[h])}))?e.splice(h--,1):(u=!1,o0&&t[a-1][2]>o;a--)t[a]=t[a-1];t[a]=[e,r,o]}}(),function(){i.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return i.d(n,{a:n}),n}}(),function(){i.d=function(t,n){for(var e in n)i.o(n,e)&&!i.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:n[e]})}}(),function(){i.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){i.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)}}(),function(){i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t}}(),function(){i.p="/lovely/"}(),function(){var t={143:0};i.O.j=function(n){return 0===t[n]};var n=function(n,e){var r,o,s=e[0],u=e[1],h=e[2],c=0;if(s.some((function(n){return 0!==t[n]}))){for(r in u)i.o(u,r)&&(i.m[r]=u[r]);if(h)var a=h(i)}for(n&&n(e);cthis.getDistance(t,n){t*=this.TIME_SCALE;for(const[n,i]of this.sections.entries())for(const[e,r]of this.sectionSprites[n].entries()){r.totalTime+=t;let i=r.totalTime/this.TIME_PERIOD,o=this.EASING_FUNCTION(i);r.baselineScale{const i=new u.W20;let e=n.velocityPoint.x*this.MOTION_BLUR_SCALE,r=n.velocityPoint.y*this.MOTION_BLUR_SCALE;return i.filters=[new l.R([e,r],this.MOTION_BLUR_KERNEL_SIZE)],t.stage.addChild(i),i})),this.sectionSprites=Array.from(Array(n),(()=>new Array(0))),this.BASE_ANGLE_DEG=360/this.sectionCount,this.BASE_ANGLE_RAD=2*Math.PI/this.sectionCount,this.WIDTH=t.screen.width,this.HEIGHT=t.screen.height,this.LEFT=-this.WIDTH/2,this.RIGHT=this.WIDTH/2,this.TOP=-this.HEIGHT/2,this.BOTTOM=this.HEIGHT/2,this.POSITIONS={topLeft:new u.E9j(-this.WIDTH/2,this.HEIGHT/2),topRight:new u.E9j(this.WIDTH/2,this.HEIGHT/2),bottomLeft:new u.E9j(-this.WIDTH/2,-this.HEIGHT/2),bottomRight:new u.E9j(this.WIDTH/2,-this.HEIGHT/2),center:new u.E9j(0,0)},this.emojiList=["heart_with_arrow","heart_with_ribbon","heavy_heart_exclamation_mark_ornament","revolving_hearts","sparkles","sparkling_heart"],this.textures=this.emojiList.map((t=>u.xEZ.from(i(4807)(`./${t}.png`)))),this.BUFFER_LEFT=this.LEFT-this.REMOVAL_BUFFER,this.BUFFER_RIGHT=this.RIGHT+this.REMOVAL_BUFFER,this.BUFFER_TOP=this.TOP-this.REMOVAL_BUFFER,this.BUFFER_BOTTOM=this.BOTTOM+this.REMOVAL_BUFFER,this.MAX_DISTANCE=f.getDistance(this.POSITIONS.topLeft,this.POSITIONS.center),this.total_sprites=0,this.MAX_RADIUS=Math.min(this.app.screen.width,this.app.screen.height)*(1-this.EDGE_BUFFER),this.sprite_trash=[]}generatePoint(){let t,n=p.pointInCircle(new u.E9j(0,0),this.MIN_RADIUS,this.MAX_RADIUS);this.sprite_trash.length<1?t=new u.jyi(p.choice(this.textures)):(t=this.sprite_trash.shift(),t.visible=!0),t.anchor.set(.5,.5),t.x=n.x,t.y=n.y,t.baselineScale=p.uniform(.05,.12),t.scale.set(0,0);const i=f.getAngle(0,0,n.x,n.y)*Math.PI/180,e=Math.floor(i/this.BASE_ANGLE_RAD),r=this.VELOCITY_SCALE*p.uniform(.8,1.2);return t.velocityX=Math.cos(i)*r,t.velocityY=Math.sin(i)*r*-1,t.totalTime=0,this.sections[e].addChild(t),this.sectionSprites[e].push(t),this.total_sprites++,t}outside(t){return t.xthis.BUFFER_RIGHT||t.y>this.BUFFER_BOTTOM||t.y=o)&&Object.keys(i.O).every((function(t){return i.O[t](e[h])}))?e.splice(h--,1):(u=!1,o0&&t[a-1][2]>o;a--)t[a]=t[a-1];t[a]=[e,r,o]}}(),function(){i.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return i.d(n,{a:n}),n}}(),function(){i.d=function(t,n){for(var e in n)i.o(n,e)&&!i.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:n[e]})}}(),function(){i.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){i.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)}}(),function(){i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t}}(),function(){i.p="/lovely/"}(),function(){var t={143:0};i.O.j=function(n){return 0===t[n]};var n=function(n,e){var r,o,s=e[0],u=e[1],h=e[2],c=0;if(s.some((function(n){return 0!==t[n]}))){for(r in u)i.o(u,r)&&(i.m[r]=u[r]);if(h)var a=h(i)}for(n&&n(e);c\n \n\n\n\n\n\n","const Easing = {\r\n linear: function () {\r\n return function (t) {\r\n return t;\r\n };\r\n },\r\n\r\n inQuad: function () {\r\n return function (t) {\r\n return t * t;\r\n };\r\n },\r\n\r\n outQuad: function () {\r\n return function (t) {\r\n return t * (2 - t);\r\n };\r\n },\r\n\r\n inOutQuad: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t;\r\n return -0.5 * (--t * (t - 2) - 1);\r\n };\r\n },\r\n\r\n inCubic: function () {\r\n return function (t) {\r\n return t * t * t;\r\n };\r\n },\r\n\r\n outCubic: function () {\r\n return function (t) {\r\n return --t * t * t + 1;\r\n };\r\n },\r\n\r\n inOutCubic: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t * t;\r\n t -= 2\r\n return 0.5 * (t * t * t + 2);\r\n };\r\n },\r\n\r\n inQuart: function () {\r\n return function (t) {\r\n return t * t * t * t;\r\n };\r\n },\r\n\r\n outQuart: function () {\r\n return function (t) {\r\n return 1 - (--t * t * t * t);\r\n };\r\n },\r\n\r\n inOutQuart: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t * t * t;\r\n t -= 2;\r\n return -0.5 * (t * t * t * t - 2);\r\n };\r\n },\r\n\r\n inQuint: function () {\r\n return function (t) {\r\n return t * t * t * t * t;\r\n };\r\n },\r\n\r\n outQuint: function () {\r\n return function (t) {\r\n return --t * t * t * t * t + 1;\r\n };\r\n },\r\n\r\n inOutQuint: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t * t * t * t;\r\n t -= 2;\r\n return 0.5 * (t * t * t * t * t + 2);\r\n };\r\n },\r\n\r\n inSine: function () {\r\n return function (t) {\r\n return 1 - Math.cos(t * Math.PI / 2);\r\n };\r\n },\r\n\r\n outSine: function () {\r\n return function (t) {\r\n return Math.sin(t * Math.PI / 2);\r\n };\r\n },\r\n\r\n inOutSine: function () {\r\n return function (t) {\r\n return 0.5 * (1 - Math.cos(Math.PI * t));\r\n };\r\n },\r\n\r\n inExpo: function () {\r\n return function (t) {\r\n return t === 0 ? 0 : Math.pow(1024, t - 1);\r\n };\r\n },\r\n\r\n outExpo: function () {\r\n return function (t) {\r\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\r\n };\r\n },\r\n\r\n inOutExpo: function () {\r\n return function (t) {\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n t *= 2;\r\n if (t < 1) return 0.5 * Math.pow(1024, t - 1);\r\n return 0.5 * (-Math.pow(2, -10 * (t - 1)) + 2);\r\n };\r\n },\r\n\r\n inCirc: function () {\r\n return function (t) {\r\n return 1 - Math.sqrt(1 - t * t);\r\n };\r\n },\r\n\r\n outCirc: function () {\r\n return function (t) {\r\n return Math.sqrt(1 - (--t * t));\r\n };\r\n },\r\n\r\n inOutCirc: function () {\r\n return function (t) {\r\n t *= 2\r\n if (t < 1) return -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n return 0.5 * (Math.sqrt(1 - (t - 2) * (t - 2)) + 1);\r\n };\r\n },\r\n\r\n\r\n inElastic: function (a = 0.1, p = 0.4) {\r\n return function (t) {\r\n let s;\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n if (!a || a < 1) {\r\n a = 1;\r\n s = p / 4;\r\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\r\n return -(a * Math.pow(2, 10 * (t - 1)) * Math.sin(((t - 1) - s) * (2 * Math.PI) / p));\r\n };\r\n },\r\n\r\n outElastic: function (a = 0.1, p = 0.4) {\r\n return function (t) {\r\n let s;\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n if (!a || a < 1) {\r\n a = 1;\r\n s = p / 4;\r\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\r\n return (a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1);\r\n };\r\n },\r\n\r\n inOutElastic: function (a = 0.1, p = 0.4) {\r\n return function (t) {\r\n let s;\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n if (!a || a < 1) {\r\n a = 1;\r\n s = p / 4;\r\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\r\n t *= 2;\r\n if (t < 1) return -0.5 * (a * Math.pow(2, 10 * (t - 1)) * Math.sin(((t - 1) - s) * (2 * Math.PI) / p));\r\n return a * Math.pow(2, -10 * (t - 1)) * Math.sin(((t - 1) - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n };\r\n },\r\n\r\n inBack: function (v) {\r\n return function (t) {\r\n let s = v || 1.70158;\r\n return t * t * ((s + 1) * t - s);\r\n };\r\n },\r\n\r\n outBack: function (v) {\r\n return function (t) {\r\n let s = v || 1.70158;\r\n return --t * t * ((s + 1) * t + s) + 1;\r\n };\r\n },\r\n\r\n inOutBack: function (v) {\r\n return function (t) {\r\n let s = (v || 1.70158) * 1.525;\r\n t *= 2;\r\n if (t < 1) return 0.5 * (t * t * ((s + 1) * t - s));\r\n return 0.5 * ((t - 2) * (t - 2) * ((s + 1) * (t - 2) + s) + 2);\r\n };\r\n },\r\n\r\n inBounce: function () {\r\n return function (t) {\r\n return 1 - Easing.outBounce()(1 - t);\r\n };\r\n },\r\n\r\n outBounce: function () {\r\n return function (t) {\r\n if (t < (1 / 2.75)) {\r\n return 7.5625 * t * t;\r\n } else if (t < (2 / 2.75)) {\r\n t = (t - (1.5 / 2.75));\r\n return 7.5625 * t * t + 0.75;\r\n } else if (t < (2.5 / 2.75)) {\r\n t = (t - (2.25 / 2.75));\r\n return 7.5625 * t * t + 0.9375;\r\n } else {\r\n t -= (2.625 / 2.75);\r\n return 7.5625 * t * t + 0.984375;\r\n }\r\n };\r\n },\r\n\r\n inOutBounce: function () {\r\n return function (t) {\r\n if (t < 0.5) return Easing.inBounce()(t * 2) * 0.5;\r\n return Easing.outBounce()(t * 2 - 1) * 0.5 + 0.5;\r\n };\r\n },\r\n\r\n customArray: function (arr) {\r\n if (!arr) return Easing.linear();\r\n return function (t) {\r\n //todo: convert array => ease\r\n return t;\r\n }\r\n }\r\n};\r\n\r\nexport default Easing;\r\n","import {Point} from \"pixi.js\";\r\n\r\nexport default {\r\n getDistanceSimple(aX, aY, bX, bY) {\r\n return Math.sqrt(Math.pow(aX - bX, 2) + Math.pow(aY - bY, 2))\r\n },\r\n getDistance(a, b) {\r\n return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2))\r\n },\r\n getAngle(originX, originY, targetX, targetY) {\r\n let dx = originX - targetX, dy = originY - targetY;\r\n\r\n let theta = Math.atan2(dy, -dx); // [0, Ⲡ] then [-Ⲡ, 0]; anticlockwise; 0° = east\r\n theta *= 180 / Math.PI; // [0, 180] then [-180, 0]; anticlockwise; 0° = east\r\n if (theta < 0) theta += 360; // [0, 360]; anticlockwise; 0° = east\r\n\r\n return theta;\r\n },\r\n /**\r\n * Converts an angle in degrees to radians\r\n * @param theta An angle in degrees.\r\n * @returns {number} An angle in radians.\r\n */\r\n toRadians(theta) {\r\n return theta / 180 * Math.PI;\r\n },\r\n /**\r\n * Converts an angle in radians to degrees.\r\n * @param theta An angle in radians.\r\n * @returns {number} An angle in degrees.\r\n */\r\n toDegrees(theta) {\r\n return theta / Math.PI * 180;\r\n },\r\n /**\r\n * Generates a number of sections and returns basic generation data to assist initialization of the canvas.\r\n * @param sectionCount The number of sections a 360 degree / 2pi area should be split up into.\r\n * @returns {*[]} Returns an array of objects containing useful pre-generated angles & data.\r\n */\r\n generateSections(sectionCount) {\r\n let data = [];\r\n let baseAngle = (2 * Math.PI) / sectionCount;\r\n for (let section = 0; section < sectionCount; section++) {\r\n let startAngle = baseAngle * section;\r\n let endAngle = startAngle + baseAngle;\r\n let centerAngle = startAngle + (baseAngle / 2.0);\r\n let velocityPoint = new Point(-Math.cos(centerAngle), Math.sin(centerAngle));\r\n data.push({startAngle, centerAngle, endAngle, velocityPoint});\r\n }\r\n return data;\r\n }\r\n}","import {Point} from \"pixi.js\";\r\n\r\nexport default {\r\n /**\r\n * Returns a random integer value from [min, max].\r\n * @param min The minimum integer value to be returned (inclusive).\r\n * @param max The maximum integer value to be returned (inclusive).\r\n * @returns {number} A random integer value.\r\n */\r\n randInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1) + min)\r\n },\r\n /**\r\n * Returns a floating point value from [min, max).\r\n * @param min The minimum value (inclusive) to be returned.\r\n * @param max The maximum value (non-inclusive) to be returned.\r\n * @returns {*} A random floating point value.\r\n */\r\n uniform(min, max) {\r\n return (Math.random() * (max - min)) + min;\r\n },\r\n /**\r\n * Returns a random item from inside the array.\r\n * @param array An array of any length.\r\n * @returns {null|*} Returns an item if there is at least 1 item inside the array. Otherwise, returns null.\r\n */\r\n choice: function (array) {\r\n if (array.length < 1) return null;\r\n else if (array.length === 1) return array[0];\r\n return array[this.randInt(0, array.length - 1)];\r\n },\r\n /**\r\n * Generates a point inside a rectangle defined by its center and a width & height.\r\n * May not be the most efficient method, but it's fine for now.\r\n * @param center The center of the rectangle.\r\n * @param height The height of the rectangle.\r\n * @param width The width of the rectangle.\r\n * @returns {Point} A point inside the rectangle defined by these arguments.\r\n */\r\n pointInRectangle(center, height, width) {\r\n let widthOffset = width / 2.0, heightOffset = height / 2.0;\r\n return new Point(\r\n this.uniform(center.x - widthOffset, center.y + widthOffset),\r\n this.uniform(center.y - heightOffset, center.y + heightOffset));\r\n },\r\n /**\r\n * Generates a random point inside a circle (or disc, if minRadius > 0).\r\n * @param center The position at which the circle is centered on.\r\n * @param minRadius The minimum radius the point could be from the center.\r\n * @param maxRadius The maximum radius the point could be from the center.\r\n * @returns {Point} A point inside the disc.\r\n */\r\n pointInCircle(center, minRadius, maxRadius) {\r\n const radius = this.uniform(minRadius, maxRadius);\r\n const angle = this.uniform(0, Math.PI * 2);\r\n return new Point(\r\n Math.cos(angle) * radius + center.x,\r\n Math.sin(angle) * radius + center.y\r\n );\r\n },\r\n /**\r\n *\r\n * @param min A point object representing the minimum X and Y values to be generated.\r\n * @param max A point object representing the maximum X and Y values to be generated.\r\n * @param minDistance The minimum distance each point must be from each other.\r\n * @param maxPoints The maximum number of points to be generated.\r\n * @param maxIterations The maximum number of generation attempts to be made before generating.\r\n * @returns {*[]} An array containing up to {maxPoints} points.\r\n */\r\n spacedPointsInRectangle(min, max, minDistance, maxPoints, maxIterations) {\r\n const minX = min.x;\r\n const minY = min.y;\r\n const maxX = max.x;\r\n const maxY = max.y;\r\n let pointCount = 0;\r\n let iterations = 0;\r\n let points = [];\r\n\r\n // Generate a point until both maximums are satisfied\r\n while (pointCount < maxPoints && iterations < maxIterations) {\r\n iterations++;\r\n let newPoint = new Point(this.uniform(minX, maxX), this.uniform(minY, maxY));\r\n if (!points.some((otherPoint) => this.getDistance(newPoint, otherPoint) < minDistance)) {\r\n pointCount++;\r\n points.push(newPoint);\r\n }\r\n }\r\n return points\r\n }\r\n};","import * as PIXI from 'pixi.js'\r\nimport {Point} from \"pixi.js\";\r\nimport easing from \"@/easing\";\r\nimport util from \"@/util\";\r\nimport {MotionBlurFilter} from \"@pixi/filter-motion-blur\";\r\nimport random from \"@/random\";\r\n\r\nclass Manager {\r\n REMOVAL_BUFFER = 100 // The buffer zone for sprite removal to prevent sprites from being deleted before they are entirely out of view.\r\n MAX_BASELINE_SCALE = 0.65; // Maximum scaling constant for sprites.\r\n MAX_SPRITE_COUNT = 200; // The maximum number of sprites that should be rendered at once.\r\n EASING_FUNCTION = easing.outExpo(); // The easing function that controls movement & scaling easing.\r\n MOTION_BLUR_KERNEL_SIZE = 3; // Controls motion blur quality.\r\n MOTION_BLUR_SCALE = 7; // The maximum scale motion blur can be in either X or Y.\r\n VELOCITY_SCALE = 3;\r\n TIME_PERIOD = 60;\r\n EDGE_BUFFER = 0.15;\r\n MIN_RADIUS = 30;\r\n TIME_SCALE = 2.8;\r\n\r\n constructor(app, sectionCount) {\r\n this.app = app;\r\n\r\n this.sectionCount = sectionCount;\r\n // A list of containers with separate sections of items relegated by their angle.\r\n this.sections = util.generateSections(sectionCount).map((sectionData) => {\r\n const container = new PIXI.Container();\r\n let blurX = sectionData.velocityPoint.x * this.MOTION_BLUR_SCALE,\r\n blurY = sectionData.velocityPoint.y * this.MOTION_BLUR_SCALE;\r\n container.filters = [new MotionBlurFilter([blurX, blurY], this.MOTION_BLUR_KERNEL_SIZE)]\r\n app.stage.addChild(container);\r\n return container;\r\n });\r\n\r\n this.sectionSprites = Array.from(Array(sectionCount), () => new Array(0))\r\n\r\n // Section Constants\r\n this.BASE_ANGLE_DEG = 360 / this.sectionCount;\r\n this.BASE_ANGLE_RAD = (Math.PI * 2) / this.sectionCount;\r\n\r\n // Geometric Constants\r\n this.WIDTH = app.screen.width;\r\n this.HEIGHT = app.screen.height;\r\n this.LEFT = -this.WIDTH / 2;\r\n this.RIGHT = this.WIDTH / 2;\r\n this.TOP = -this.HEIGHT / 2;\r\n this.BOTTOM = this.HEIGHT / 2;\r\n\r\n // Position Constants\r\n this.POSITIONS = {\r\n topLeft: new Point(-this.WIDTH / 2, this.HEIGHT / 2),\r\n topRight: new Point(this.WIDTH / 2, this.HEIGHT / 2),\r\n bottomLeft: new Point(-this.WIDTH / 2, -this.HEIGHT / 2),\r\n bottomRight: new Point(this.WIDTH / 2, -this.HEIGHT / 2),\r\n center: new Point(0, 0)\r\n }\r\n\r\n // A list of texture names for the emojis to be used.\r\n this.emojiList = [\"heart_with_arrow\",\r\n \"heart_with_ribbon\",\r\n \"heavy_heart_exclamation_mark_ornament\",\r\n \"revolving_hearts\",\r\n \"sparkles\",\r\n \"sparkling_heart\"];\r\n\r\n // Load all textures into memory\r\n this.textures = this.emojiList.map(\r\n (emoji_name) => PIXI.Texture.from(require(`./assets/emojis/${emoji_name}.png`))\r\n );\r\n\r\n // Buffer size constants\r\n this.BUFFER_LEFT = this.LEFT - this.REMOVAL_BUFFER;\r\n this.BUFFER_RIGHT = this.RIGHT + this.REMOVAL_BUFFER;\r\n this.BUFFER_TOP = this.TOP - this.REMOVAL_BUFFER;\r\n this.BUFFER_BOTTOM = this.BOTTOM + this.REMOVAL_BUFFER;\r\n\r\n this.MAX_DISTANCE = util.getDistance(this.POSITIONS.topLeft, this.POSITIONS.center);\r\n this.total_sprites = 0;\r\n\r\n // Generation Constants\r\n this.MAX_RADIUS = Math.min(this.app.screen.width, this.app.screen.height) * (1 - this.EDGE_BUFFER);\r\n\r\n // Sprites that have gone out of boundary and need to be used.\r\n this.sprite_trash = [];\r\n }\r\n\r\n /**\r\n * Generate a new point and automatically add it to the container.\r\n */\r\n generatePoint() {\r\n // Generation initial data on the point\r\n let point = random.pointInCircle(new Point(0, 0), this.MIN_RADIUS, this.MAX_RADIUS);\r\n let sprite;\r\n\r\n // Acquire sprite object.\r\n if (this.sprite_trash.length < 1) {\r\n sprite = new PIXI.Sprite(random.choice(this.textures));\r\n } else {\r\n sprite = this.sprite_trash.shift();\r\n sprite.visible = true;\r\n }\r\n\r\n // Place the sprite at the point\r\n sprite.anchor.set(0.5, 0.5);\r\n sprite.x = point.x;\r\n sprite.y = point.y;\r\n\r\n // Set scale\r\n sprite.baselineScale = random.uniform(0.05, 0.12)\r\n sprite.scale.set(0, 0)\r\n\r\n // Get the correct section & velocity for the sprite\r\n const angleFromCenter = util.getAngle(0, 0, point.x, point.y) * Math.PI / 180;\r\n const sectionIndex = Math.floor(angleFromCenter / this.BASE_ANGLE_RAD);\r\n const velocity = this.VELOCITY_SCALE * random.uniform(0.8, 1.2);\r\n sprite.velocityX = Math.cos(angleFromCenter) * velocity;\r\n sprite.velocityY = Math.sin(angleFromCenter) * velocity * -1;\r\n\r\n sprite.totalTime = 0;\r\n\r\n // Add it to the section & section list\r\n this.sections[sectionIndex].addChild(sprite);\r\n this.sectionSprites[sectionIndex].push(sprite);\r\n this.total_sprites++;\r\n\r\n return sprite;\r\n }\r\n\r\n /*\r\n Return true if the Sprite is outside the boundaries of the Canvas (plus whatever buffer is specified).\r\n */\r\n outside(sprite) {\r\n return sprite.x < this.BUFFER_LEFT ||\r\n sprite.x > this.BUFFER_RIGHT ||\r\n sprite.y > this.BUFFER_BOTTOM ||\r\n sprite.y < this.BUFFER_TOP;\r\n }\r\n\r\n /**\r\n * Ticking function for Manager object.\r\n * @param delta The time (in seconds) that passed between now and the last tick() call.\r\n */\r\n tick = (delta) => {\r\n delta *= this.TIME_SCALE;\r\n // Iterate through each section\r\n for (const [sectionIndex, section] of this.sections.entries()) {\r\n // Iterate through all sprites moving in that section\r\n for (const [spriteIndex, sprite] of this.sectionSprites[sectionIndex].entries()) {\r\n sprite.totalTime += delta;\r\n let scaleValue = sprite.totalTime / this.TIME_PERIOD;\r\n // let scaleValue = util.getDistanceSimple(0, 0, sprite.x, sprite.y) / this.MAX_DISTANCE;\r\n // distanceScale = Math.max(1, distanceScale + 0.3);\r\n let easeValue = this.EASING_FUNCTION(scaleValue);\r\n\r\n if (sprite.baselineScale < this.MAX_BASELINE_SCALE)\r\n sprite.baselineScale = Math.min(this.MAX_BASELINE_SCALE, sprite.baselineScale + (0.1 * delta * 0.25));\r\n\r\n let scale = sprite.baselineScale * Math.log(scaleValue + 1)\r\n sprite.scale.set(scale, scale);\r\n\r\n sprite.x += sprite.velocityX * delta * easeValue;\r\n sprite.y += sprite.velocityY * delta * easeValue;\r\n\r\n // Remove sprites outside view\r\n if (this.outside(sprite)) {\r\n sprite.visible = false;\r\n this.sprite_trash.push(sprite);\r\n this.sectionSprites[sectionIndex].splice(spriteIndex, 1);\r\n // section.removeChild(sprite);\r\n // sprite.destroy();\r\n this.total_sprites--;\r\n }\r\n }\r\n }\r\n\r\n // Generate one sprite on each tick if needed.\r\n if (this.total_sprites < this.MAX_SPRITE_COUNT) {\r\n this.generatePoint();\r\n }\r\n }\r\n}\r\n\r\nexport default Manager;","import { render } from \"./App.vue?vue&type=template&id=3b0dc164\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=3b0dc164&lang=css\"\n\nimport exportComponent from \"F:\\\\Programming\\\\Languages\\\\Vue.js\\\\lovely\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n","var map = {\n\t\"./heart_with_arrow.png\": 9042,\n\t\"./heart_with_ribbon.png\": 4641,\n\t\"./heavy_heart_exclamation_mark_ornament.png\": 3965,\n\t\"./revolving_hearts.png\": 2363,\n\t\"./sparkles.png\": 3848,\n\t\"./sparkling_heart.png\": 8514\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 4807;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/lovely/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklovely\"] = self[\"webpackChunklovely\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2398); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["id","_createElementBlock","Easing","linear","t","inQuad","outQuad","inOutQuad","inCubic","outCubic","inOutCubic","inQuart","outQuart","inOutQuart","inQuint","outQuint","inOutQuint","inSine","Math","cos","PI","outSine","sin","inOutSine","inExpo","pow","outExpo","inOutExpo","inCirc","sqrt","outCirc","inOutCirc","inElastic","a","p","s","asin","outElastic","inOutElastic","inBack","v","outBack","inOutBack","inBounce","outBounce","inOutBounce","customArray","arr","getDistanceSimple","aX","aY","bX","bY","getDistance","b","x","y","getAngle","originX","originY","targetX","targetY","dx","dy","theta","atan2","toRadians","toDegrees","generateSections","sectionCount","data","baseAngle","section","startAngle","endAngle","centerAngle","velocityPoint","Point","push","randInt","min","max","floor","random","uniform","choice","array","length","this","pointInRectangle","center","height","width","widthOffset","heightOffset","pointInCircle","minRadius","maxRadius","radius","angle","spacedPointsInRectangle","minDistance","maxPoints","maxIterations","minX","minY","maxX","maxY","pointCount","iterations","points","newPoint","some","otherPoint","Manager","constructor","app","easing","delta","TIME_SCALE","sectionIndex","sections","entries","spriteIndex","sprite","sectionSprites","totalTime","scaleValue","TIME_PERIOD","easeValue","EASING_FUNCTION","baselineScale","MAX_BASELINE_SCALE","scale","log","set","velocityX","velocityY","outside","visible","sprite_trash","splice","total_sprites","MAX_SPRITE_COUNT","generatePoint","util","map","sectionData","container","PIXI","blurX","MOTION_BLUR_SCALE","blurY","filters","MotionBlurFilter","MOTION_BLUR_KERNEL_SIZE","stage","addChild","Array","from","BASE_ANGLE_DEG","BASE_ANGLE_RAD","WIDTH","screen","HEIGHT","LEFT","RIGHT","TOP","BOTTOM","POSITIONS","topLeft","topRight","bottomLeft","bottomRight","emojiList","textures","emoji_name","require","BUFFER_LEFT","REMOVAL_BUFFER","BUFFER_RIGHT","BUFFER_TOP","BUFFER_BOTTOM","MAX_DISTANCE","MAX_RADIUS","EDGE_BUFFER","point","MIN_RADIUS","shift","anchor","angleFromCenter","velocity","VELOCITY_SCALE","name","components","methods","drawPixi","canvas","document","getElementById","window","innerWidth","innerHeight","antialias","backgroundColor","view","specialStyle","fill","stroke","strokeThickness","centerText","manager","ticker","add","tick","mounted","__exports__","render","createApp","App","mount","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","key","r","n","getter","__esModule","d","definition","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/js/app.725c4757.js.map b/docs/js/app.725c4757.js.map deleted file mode 100644 index aa4835d..0000000 --- a/docs/js/app.725c4757.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/app.725c4757.js","mappings":"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","sources":["webpack://lovely/./src/App.vue","webpack://lovely/./src/easing.js","webpack://lovely/./src/util.js","webpack://lovely/./src/random.js","webpack://lovely/./src/manage.js","webpack://lovely/./src/App.vue?7ccd","webpack://lovely/./src/main.js","webpack://lovely/./src/assets/emojis/ sync ^\\.\\/.*\\.png$","webpack://lovely/webpack/bootstrap","webpack://lovely/webpack/runtime/chunk loaded","webpack://lovely/webpack/runtime/compat get default export","webpack://lovely/webpack/runtime/define property getters","webpack://lovely/webpack/runtime/global","webpack://lovely/webpack/runtime/hasOwnProperty shorthand","webpack://lovely/webpack/runtime/node module decorator","webpack://lovely/webpack/runtime/publicPath","webpack://lovely/webpack/runtime/jsonp chunk loading","webpack://lovely/webpack/startup"],"sourcesContent":["\n\n\n\n\n","const Easing = {\r\n linear: function () {\r\n return function (t) {\r\n return t;\r\n };\r\n },\r\n\r\n inQuad: function () {\r\n return function (t) {\r\n return t * t;\r\n };\r\n },\r\n\r\n outQuad: function () {\r\n return function (t) {\r\n return t * (2 - t);\r\n };\r\n },\r\n\r\n inOutQuad: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t;\r\n return -0.5 * (--t * (t - 2) - 1);\r\n };\r\n },\r\n\r\n inCubic: function () {\r\n return function (t) {\r\n return t * t * t;\r\n };\r\n },\r\n\r\n outCubic: function () {\r\n return function (t) {\r\n return --t * t * t + 1;\r\n };\r\n },\r\n\r\n inOutCubic: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t * t;\r\n t -= 2\r\n return 0.5 * (t * t * t + 2);\r\n };\r\n },\r\n\r\n inQuart: function () {\r\n return function (t) {\r\n return t * t * t * t;\r\n };\r\n },\r\n\r\n outQuart: function () {\r\n return function (t) {\r\n return 1 - (--t * t * t * t);\r\n };\r\n },\r\n\r\n inOutQuart: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t * t * t;\r\n t -= 2;\r\n return -0.5 * (t * t * t * t - 2);\r\n };\r\n },\r\n\r\n inQuint: function () {\r\n return function (t) {\r\n return t * t * t * t * t;\r\n };\r\n },\r\n\r\n outQuint: function () {\r\n return function (t) {\r\n return --t * t * t * t * t + 1;\r\n };\r\n },\r\n\r\n inOutQuint: function () {\r\n return function (t) {\r\n t *= 2;\r\n if (t < 1) return 0.5 * t * t * t * t * t;\r\n t -= 2;\r\n return 0.5 * (t * t * t * t * t + 2);\r\n };\r\n },\r\n\r\n inSine: function () {\r\n return function (t) {\r\n return 1 - Math.cos(t * Math.PI / 2);\r\n };\r\n },\r\n\r\n outSine: function () {\r\n return function (t) {\r\n return Math.sin(t * Math.PI / 2);\r\n };\r\n },\r\n\r\n inOutSine: function () {\r\n return function (t) {\r\n return 0.5 * (1 - Math.cos(Math.PI * t));\r\n };\r\n },\r\n\r\n inExpo: function () {\r\n return function (t) {\r\n return t === 0 ? 0 : Math.pow(1024, t - 1);\r\n };\r\n },\r\n\r\n outExpo: function () {\r\n return function (t) {\r\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\r\n };\r\n },\r\n\r\n inOutExpo: function () {\r\n return function (t) {\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n t *= 2;\r\n if (t < 1) return 0.5 * Math.pow(1024, t - 1);\r\n return 0.5 * (-Math.pow(2, -10 * (t - 1)) + 2);\r\n };\r\n },\r\n\r\n inCirc: function () {\r\n return function (t) {\r\n return 1 - Math.sqrt(1 - t * t);\r\n };\r\n },\r\n\r\n outCirc: function () {\r\n return function (t) {\r\n return Math.sqrt(1 - (--t * t));\r\n };\r\n },\r\n\r\n inOutCirc: function () {\r\n return function (t) {\r\n t *= 2\r\n if (t < 1) return -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n return 0.5 * (Math.sqrt(1 - (t - 2) * (t - 2)) + 1);\r\n };\r\n },\r\n\r\n\r\n inElastic: function (a = 0.1, p = 0.4) {\r\n return function (t) {\r\n let s;\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n if (!a || a < 1) {\r\n a = 1;\r\n s = p / 4;\r\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\r\n return -(a * Math.pow(2, 10 * (t - 1)) * Math.sin(((t - 1) - s) * (2 * Math.PI) / p));\r\n };\r\n },\r\n\r\n outElastic: function (a = 0.1, p = 0.4) {\r\n return function (t) {\r\n let s;\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n if (!a || a < 1) {\r\n a = 1;\r\n s = p / 4;\r\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\r\n return (a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1);\r\n };\r\n },\r\n\r\n inOutElastic: function (a = 0.1, p = 0.4) {\r\n return function (t) {\r\n let s;\r\n if (t === 0) return 0;\r\n if (t === 1) return 1;\r\n if (!a || a < 1) {\r\n a = 1;\r\n s = p / 4;\r\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\r\n t *= 2;\r\n if (t < 1) return -0.5 * (a * Math.pow(2, 10 * (t - 1)) * Math.sin(((t - 1) - s) * (2 * Math.PI) / p));\r\n return a * Math.pow(2, -10 * (t - 1)) * Math.sin(((t - 1) - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n };\r\n },\r\n\r\n inBack: function (v) {\r\n return function (t) {\r\n let s = v || 1.70158;\r\n return t * t * ((s + 1) * t - s);\r\n };\r\n },\r\n\r\n outBack: function (v) {\r\n return function (t) {\r\n let s = v || 1.70158;\r\n return --t * t * ((s + 1) * t + s) + 1;\r\n };\r\n },\r\n\r\n inOutBack: function (v) {\r\n return function (t) {\r\n let s = (v || 1.70158) * 1.525;\r\n t *= 2;\r\n if (t < 1) return 0.5 * (t * t * ((s + 1) * t - s));\r\n return 0.5 * ((t - 2) * (t - 2) * ((s + 1) * (t - 2) + s) + 2);\r\n };\r\n },\r\n\r\n inBounce: function () {\r\n return function (t) {\r\n return 1 - Easing.outBounce()(1 - t);\r\n };\r\n },\r\n\r\n outBounce: function () {\r\n return function (t) {\r\n if (t < (1 / 2.75)) {\r\n return 7.5625 * t * t;\r\n } else if (t < (2 / 2.75)) {\r\n t = (t - (1.5 / 2.75));\r\n return 7.5625 * t * t + 0.75;\r\n } else if (t < (2.5 / 2.75)) {\r\n t = (t - (2.25 / 2.75));\r\n return 7.5625 * t * t + 0.9375;\r\n } else {\r\n t -= (2.625 / 2.75);\r\n return 7.5625 * t * t + 0.984375;\r\n }\r\n };\r\n },\r\n\r\n inOutBounce: function () {\r\n return function (t) {\r\n if (t < 0.5) return Easing.inBounce()(t * 2) * 0.5;\r\n return Easing.outBounce()(t * 2 - 1) * 0.5 + 0.5;\r\n };\r\n },\r\n\r\n customArray: function (arr) {\r\n if (!arr) return Easing.linear();\r\n return function (t) {\r\n //todo: convert array => ease\r\n return t;\r\n }\r\n }\r\n};\r\n\r\nexport default Easing;\r\n","import {Point} from \"pixi.js\";\r\n\r\nexport default {\r\n getDistanceSimple(aX, aY, bX, bY) {\r\n return Math.sqrt(Math.pow(aX - bX, 2) + Math.pow(aY - bY, 2))\r\n },\r\n getDistance(a, b) {\r\n return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2))\r\n },\r\n getAngle(originX, originY, targetX, targetY) {\r\n let dx = originX - targetX, dy = originY - targetY;\r\n\r\n let theta = Math.atan2(dy, -dx); // [0, Ⲡ] then [-Ⲡ, 0]; anticlockwise; 0° = east\r\n theta *= 180 / Math.PI; // [0, 180] then [-180, 0]; anticlockwise; 0° = east\r\n if (theta < 0) theta += 360; // [0, 360]; anticlockwise; 0° = east\r\n\r\n return theta;\r\n },\r\n /**\r\n * Converts an angle in degrees to radians\r\n * @param theta An angle in degrees.\r\n * @returns {number} An angle in radians.\r\n */\r\n toRadians(theta) {\r\n return theta / 180 * Math.PI;\r\n },\r\n /**\r\n * Converts an angle in radians to degrees.\r\n * @param theta An angle in radians.\r\n * @returns {number} An angle in degrees.\r\n */\r\n toDegrees(theta) {\r\n return theta / Math.PI * 180;\r\n },\r\n /**\r\n * Generates a number of sections and returns basic generation data to assist initialization of the canvas.\r\n * @param sectionCount The number of sections a 360 degree / 2pi area should be split up into.\r\n * @returns {*[]} Returns an array of objects containing useful pre-generated angles & data.\r\n */\r\n generateSections(sectionCount) {\r\n let data = [];\r\n let baseAngle = (2 * Math.PI) / sectionCount;\r\n for (let section = 0; section < sectionCount; section++) {\r\n let startAngle = baseAngle * section;\r\n let endAngle = startAngle + baseAngle;\r\n let centerAngle = startAngle + (baseAngle / 2.0);\r\n let velocityPoint = new Point(-Math.cos(centerAngle), Math.sin(centerAngle));\r\n data.push({startAngle, centerAngle, endAngle, velocityPoint});\r\n }\r\n return data;\r\n }\r\n}","import {Point} from \"pixi.js\";\r\n\r\nexport default {\r\n /**\r\n * Returns a random integer value from [min, max].\r\n * @param min The minimum integer value to be returned (inclusive).\r\n * @param max The maximum integer value to be returned (inclusive).\r\n * @returns {number} A random integer value.\r\n */\r\n randInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1) + min)\r\n },\r\n /**\r\n * Returns a floating point value from [min, max).\r\n * @param min The minimum value (inclusive) to be returned.\r\n * @param max The maximum value (non-inclusive) to be returned.\r\n * @returns {*} A random floating point value.\r\n */\r\n uniform(min, max) {\r\n return (Math.random() * (max - min)) + min;\r\n },\r\n /**\r\n * Returns a random item from inside the array.\r\n * @param array An array of any length.\r\n * @returns {null|*} Returns an item if there is at least 1 item inside the array. Otherwise, returns null.\r\n */\r\n choice: function (array) {\r\n if (array.length < 1) return null;\r\n else if (array.length === 1) return array[0];\r\n return array[this.randInt(0, array.length - 1)];\r\n },\r\n /**\r\n * Generates a point inside a rectangle defined by its center and a width & height.\r\n * May not be the most efficient method, but it's fine for now.\r\n * @param center The center of the rectangle.\r\n * @param height The height of the rectangle.\r\n * @param width The width of the rectangle.\r\n * @returns {Point} A point inside the rectangle defined by these arguments.\r\n */\r\n pointInRectangle(center, height, width) {\r\n let widthOffset = width / 2.0, heightOffset = height / 2.0;\r\n return new Point(\r\n this.uniform(center.x - widthOffset, center.y + widthOffset),\r\n this.uniform(center.y - heightOffset, center.y + heightOffset));\r\n },\r\n /**\r\n * Generates a random point inside a circle (or disc, if minRadius > 0).\r\n * @param center The position at which the circle is centered on.\r\n * @param minRadius The minimum radius the point could be from the center.\r\n * @param maxRadius The maximum radius the point could be from the center.\r\n * @returns {Point} A point inside the disc.\r\n */\r\n pointInCircle(center, minRadius, maxRadius) {\r\n const radius = this.uniform(minRadius, maxRadius);\r\n const angle = this.uniform(0, Math.PI * 2);\r\n return new Point(\r\n Math.cos(angle) * radius + center.x,\r\n Math.sin(angle) * radius + center.y\r\n );\r\n },\r\n /**\r\n *\r\n * @param min A point object representing the minimum X and Y values to be generated.\r\n * @param max A point object representing the maximum X and Y values to be generated.\r\n * @param minDistance The minimum distance each point must be from each other.\r\n * @param maxPoints The maximum number of points to be generated.\r\n * @param maxIterations The maximum number of generation attempts to be made before generating.\r\n * @returns {*[]} An array containing up to {maxPoints} points.\r\n */\r\n spacedPointsInRectangle(min, max, minDistance, maxPoints, maxIterations) {\r\n const minX = min.x;\r\n const minY = min.y;\r\n const maxX = max.x;\r\n const maxY = max.y;\r\n let pointCount = 0;\r\n let iterations = 0;\r\n let points = [];\r\n\r\n // Generate a point until both maximums are satisfied\r\n while (pointCount < maxPoints && iterations < maxIterations) {\r\n iterations++;\r\n let newPoint = new Point(this.uniform(minX, maxX), this.uniform(minY, maxY));\r\n if (!points.some((otherPoint) => this.getDistance(newPoint, otherPoint) < minDistance)) {\r\n pointCount++;\r\n points.push(newPoint);\r\n }\r\n }\r\n return points\r\n }\r\n};","import * as PIXI from 'pixi.js'\r\nimport {Point} from \"pixi.js\";\r\nimport easing from \"@/easing\";\r\nimport util from \"@/util\";\r\nimport {MotionBlurFilter} from \"@pixi/filter-motion-blur\";\r\nimport random from \"@/random\";\r\n\r\nclass Manager {\r\n REMOVAL_BUFFER = 100 // The buffer zone for sprite removal to prevent sprites from being deleted before they are entirely out of view.\r\n MAX_BASELINE_SCALE = 0.65; // Maximum scaling constant for sprites.\r\n MAX_SPRITE_COUNT = 200; // The maximum number of sprites that should be rendered at once.\r\n EASING_FUNCTION = easing.outExpo(); // The easing function that controls movement & scaling easing.\r\n MOTION_BLUR_KERNEL_SIZE = 3; // Controls motion blur quality.\r\n MOTION_BLUR_SCALE = 7; // The maximum scale motion blur can be in either X or Y.\r\n VELOCITY_SCALE = 3;\r\n TIME_PERIOD = 60;\r\n EDGE_BUFFER = 0.15;\r\n MIN_RADIUS = 30;\r\n TIME_SCALE = 2.3;\r\n\r\n constructor(app, sectionCount) {\r\n this.app = app;\r\n\r\n this.sectionCount = sectionCount;\r\n // A list of containers with separate sections of items relegated by their angle.\r\n this.sections = util.generateSections(sectionCount).map((sectionData) => {\r\n const container = new PIXI.Container();\r\n let blurX = sectionData.velocityPoint.x * this.MOTION_BLUR_SCALE,\r\n blurY = sectionData.velocityPoint.y * this.MOTION_BLUR_SCALE;\r\n container.filters = [new MotionBlurFilter([blurX, blurY], this.MOTION_BLUR_KERNEL_SIZE)]\r\n app.stage.addChild(container);\r\n return container;\r\n });\r\n\r\n this.sectionSprites = Array.from(Array(sectionCount), () => new Array(0))\r\n\r\n // Section Constants\r\n this.BASE_ANGLE_DEG = 360 / this.sectionCount;\r\n this.BASE_ANGLE_RAD = (Math.PI * 2) / this.sectionCount;\r\n\r\n // Geometric Constants\r\n this.WIDTH = app.screen.width;\r\n this.HEIGHT = app.screen.height;\r\n this.LEFT = -this.WIDTH / 2;\r\n this.RIGHT = this.WIDTH / 2;\r\n this.TOP = -this.HEIGHT / 2;\r\n this.BOTTOM = this.HEIGHT / 2;\r\n\r\n // Position Constants\r\n this.POSITIONS = {\r\n topLeft: new Point(-this.WIDTH / 2, this.HEIGHT / 2),\r\n topRight: new Point(this.WIDTH / 2, this.HEIGHT / 2),\r\n bottomLeft: new Point(-this.WIDTH / 2, -this.HEIGHT / 2),\r\n bottomRight: new Point(this.WIDTH / 2, -this.HEIGHT / 2),\r\n center: new Point(0, 0)\r\n }\r\n\r\n // A list of texture names for the emojis to be used.\r\n this.emojiList = [\"heart_with_arrow\",\r\n \"heart_with_ribbon\",\r\n \"heavy_heart_exclamation_mark_ornament\",\r\n \"revolving_hearts\",\r\n \"sparkles\",\r\n \"sparkling_heart\"];\r\n\r\n // Load all textures into memory\r\n this.textures = this.emojiList.map(\r\n (emoji_name) => PIXI.Texture.from(require(`./assets/emojis/${emoji_name}.png`))\r\n );\r\n\r\n // Buffer size constants\r\n this.BUFFER_LEFT = this.LEFT - this.REMOVAL_BUFFER;\r\n this.BUFFER_RIGHT = this.RIGHT + this.REMOVAL_BUFFER;\r\n this.BUFFER_TOP = this.TOP - this.REMOVAL_BUFFER;\r\n this.BUFFER_BOTTOM = this.BOTTOM + this.REMOVAL_BUFFER;\r\n\r\n this.MAX_DISTANCE = util.getDistance(this.POSITIONS.topLeft, this.POSITIONS.center);\r\n this.total_sprites = 0;\r\n\r\n // Generation Constants\r\n this.MAX_RADIUS = Math.min(this.app.screen.width, this.app.screen.height) * (1 - this.EDGE_BUFFER);\r\n\r\n // Sprites that have gone out of boundary and need to be used.\r\n this.sprite_trash = [];\r\n }\r\n\r\n /**\r\n * Generate a new point and automatically add it to the container.\r\n */\r\n generatePoint() {\r\n // Generation initial data on the point\r\n let point = random.pointInCircle(new Point(0, 0), this.MIN_RADIUS, this.MAX_RADIUS);\r\n let sprite = null;\r\n\r\n // Acquire sprite object.\r\n if (this.sprite_trash.length < 1) {\r\n sprite = new PIXI.Sprite(random.choice(this.textures));\r\n } else {\r\n sprite = this.sprite_trash.shift();\r\n sprite.visible = true;\r\n }\r\n\r\n // Place the sprite at the point\r\n sprite.anchor.set(0.5, 0.5);\r\n sprite.x = point.x;\r\n sprite.y = point.y;\r\n\r\n // Set scale\r\n // let distanceFromCenter = this.getDistance(commonPositions.center, point);\r\n // sprite.baselineScale = this.uniform(0.45, 0.65);\r\n sprite.baselineScale = random.uniform(0.05, 0.12)\r\n sprite.scale.set(0, 0)\r\n\r\n // Get the correct section & velocity for the sprite\r\n const angleFromCenter = util.getAngle(0, 0, point.x, point.y) * Math.PI / 180;\r\n const sectionIndex = Math.floor(angleFromCenter / this.BASE_ANGLE_RAD);\r\n const velocity = this.VELOCITY_SCALE * random.uniform(0.8, 1.2);\r\n sprite.velocityX = Math.cos(angleFromCenter) * velocity;\r\n sprite.velocityY = Math.sin(angleFromCenter) * velocity * -1;\r\n\r\n sprite.totalTime = 0;\r\n\r\n // Add it to the section & section list\r\n this.sections[sectionIndex].addChild(sprite);\r\n this.sectionSprites[sectionIndex].push(sprite);\r\n this.total_sprites++;\r\n\r\n return sprite;\r\n }\r\n\r\n /*\r\n Return true if the Sprite is outside the boundaries of the Canvas (plus whatever buffer is specified).\r\n */\r\n outside(sprite) {\r\n return sprite.x < this.BUFFER_LEFT ||\r\n sprite.x > this.BUFFER_RIGHT ||\r\n sprite.y > this.BUFFER_BOTTOM ||\r\n sprite.y < this.BUFFER_TOP;\r\n }\r\n\r\n /**\r\n * Ticking function for Manager object.\r\n * @param delta The time (in seconds) that passed between now and the last tick() call.\r\n */\r\n tick = (delta) => {\r\n delta *= this.TIME_SCALE;\r\n // Iterate through each section\r\n for (const [sectionIndex, section] of this.sections.entries()) {\r\n // Iterate through all sprites moving in that section\r\n for (const [spriteIndex, sprite] of this.sectionSprites[sectionIndex].entries()) {\r\n sprite.totalTime += delta;\r\n let scaleValue = sprite.totalTime / this.TIME_PERIOD;\r\n // let scaleValue = util.getDistanceSimple(0, 0, sprite.x, sprite.y) / this.MAX_DISTANCE;\r\n // distanceScale = Math.max(1, distanceScale + 0.3);\r\n let easeValue = this.EASING_FUNCTION(scaleValue);\r\n\r\n if (sprite.baselineScale < this.MAX_BASELINE_SCALE)\r\n sprite.baselineScale = Math.min(this.MAX_BASELINE_SCALE, sprite.baselineScale + (0.1 * delta * 0.25));\r\n\r\n let scale = sprite.baselineScale * Math.log(scaleValue + 1)\r\n sprite.scale.set(scale, scale);\r\n\r\n sprite.x += sprite.velocityX * delta * easeValue;\r\n sprite.y += sprite.velocityY * delta * easeValue;\r\n\r\n // Remove sprites outside view\r\n if (this.outside(sprite)) {\r\n sprite.visible = false;\r\n this.sprite_trash.push(sprite);\r\n this.sectionSprites[sectionIndex].splice(spriteIndex, 1);\r\n // section.removeChild(sprite);\r\n // sprite.destroy();\r\n this.total_sprites--;\r\n }\r\n }\r\n }\r\n\r\n // Generate one sprite on each tick if needed.\r\n if (this.total_sprites < this.MAX_SPRITE_COUNT) {\r\n this.generatePoint();\r\n }\r\n }\r\n}\r\n\r\nexport default Manager;","import { render } from \"./App.vue?vue&type=template&id=3b0dc164\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=3b0dc164&lang=css\"\n\nimport exportComponent from \"F:\\\\Programming\\\\Languages\\\\Vue.js\\\\lovely\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n","var map = {\n\t\"./heart_with_arrow.png\": 9042,\n\t\"./heart_with_ribbon.png\": 4641,\n\t\"./heavy_heart_exclamation_mark_ornament.png\": 3965,\n\t\"./revolving_hearts.png\": 2363,\n\t\"./sparkles.png\": 3848,\n\t\"./sparkling_heart.png\": 8514\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 4807;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/lovely/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklovely\"] = self[\"webpackChunklovely\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2398); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["id","_createElementBlock","Easing","linear","t","inQuad","outQuad","inOutQuad","inCubic","outCubic","inOutCubic","inQuart","outQuart","inOutQuart","inQuint","outQuint","inOutQuint","inSine","Math","cos","PI","outSine","sin","inOutSine","inExpo","pow","outExpo","inOutExpo","inCirc","sqrt","outCirc","inOutCirc","inElastic","a","p","s","asin","outElastic","inOutElastic","inBack","v","outBack","inOutBack","inBounce","outBounce","inOutBounce","customArray","arr","getDistanceSimple","aX","aY","bX","bY","getDistance","b","x","y","getAngle","originX","originY","targetX","targetY","dx","dy","theta","atan2","toRadians","toDegrees","generateSections","sectionCount","data","baseAngle","section","startAngle","endAngle","centerAngle","velocityPoint","Point","push","randInt","min","max","floor","random","uniform","choice","array","length","this","pointInRectangle","center","height","width","widthOffset","heightOffset","pointInCircle","minRadius","maxRadius","radius","angle","spacedPointsInRectangle","minDistance","maxPoints","maxIterations","minX","minY","maxX","maxY","pointCount","iterations","points","newPoint","some","otherPoint","Manager","constructor","app","easing","delta","TIME_SCALE","sectionIndex","sections","entries","spriteIndex","sprite","sectionSprites","totalTime","scaleValue","TIME_PERIOD","easeValue","EASING_FUNCTION","baselineScale","MAX_BASELINE_SCALE","scale","log","set","velocityX","velocityY","outside","visible","sprite_trash","splice","total_sprites","MAX_SPRITE_COUNT","generatePoint","util","map","sectionData","container","PIXI","blurX","MOTION_BLUR_SCALE","blurY","filters","MotionBlurFilter","MOTION_BLUR_KERNEL_SIZE","stage","addChild","Array","from","BASE_ANGLE_DEG","BASE_ANGLE_RAD","WIDTH","screen","HEIGHT","LEFT","RIGHT","TOP","BOTTOM","POSITIONS","topLeft","topRight","bottomLeft","bottomRight","emojiList","textures","emoji_name","require","BUFFER_LEFT","REMOVAL_BUFFER","BUFFER_RIGHT","BUFFER_TOP","BUFFER_BOTTOM","MAX_DISTANCE","MAX_RADIUS","EDGE_BUFFER","point","MIN_RADIUS","shift","anchor","angleFromCenter","velocity","VELOCITY_SCALE","name","components","methods","drawPixi","canvas","document","getElementById","window","innerWidth","innerHeight","antialias","backgroundColor","view","specialStyle","fill","stroke","strokeThickness","centerText","manager","ticker","add","tick","mounted","__exports__","render","createApp","App","mount","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","key","r","n","getter","__esModule","d","definition","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file