clouds3d-only cleanup: drop Vanta/three.js/clouds2d, real-sky fixes, settlement lights, dynamic location anchor

This commit is contained in:
Richard Zink committed 2026-10-09 14:13:03 +02:00
1 parent e4170bee62
commit fbac24773a
17 files changed
+3217 -3411

No files matched your search

+7 -17
View File
@@ -1,25 +1,15 @@
three.min.js - three.js (r128)
Source: https://github.com/mrdoob/three.js
License: MIT (https://github.com/mrdoob/three.js/blob/dev/LICENSE)
Used under the terms of the MIT License.
suncalc.js - SunCalc (v1.9.0)
Source: https://github.com/mourner/suncalc
Original author: Vladimir Agafonkin (mourner)
License: ISC (https://github.com/mourner/suncalc/blob/master/LICENSE)
Used under the terms of the ISC License.
vanta.clouds.min.js - Vanta.js Clouds effect (v0.5.21)
Source: https://github.com/tengbao/vanta
Author: Teng Bao
License: MIT (https://github.com/tengbao/vanta/blob/master/LICENSE)
Used under the terms of the MIT License.
stars.json - star catalogue derived from the Yale Bright Star Catalogue
(5th ed., public catalogue data). Generated for this project; see the
real-sky notes in clouds3d.js.
vanta.clouds2.min.js - Vanta.js Clouds2 effect (v0.5.21)
Source: https://github.com/tengbao/vanta
Author: Teng Bao
License: MIT (https://github.com/tengbao/vanta/blob/master/LICENSE)
Used under the terms of the MIT License.
clouds3d.js - original code for this project (same license as the
repository root LICENSE).
These libraries are vendored locally so the application can run fully offline
without any external network dependencies.
These libraries/data files are vendored locally so the application can
run fully offline without any external network dependencies.
View File
Whitespace-only changes.
+2745 -277
View File
File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
[[1.266,-0.503,6.29,5100],[1.334,-5.708,4.61,5000],[1.425,13.396,5.51,5500],[1.567,58.437,5.96,5500],[1.579,-49.075,5.7,5900],[1.61,64.196,5.59,12000],[1.653,29.021,6.13,5000],[1.709,-23.108,6.18,8250],[1.826,-17.386,6.19,8500],[1.934,-2.549,6.43,14000],[1.945,-22.509,5.94,9500],[2.015,-33.529,5.68,4850],[2.05,-2.448,6.07,4700],[2.097,29.091,2.06,14000],[2.072,-8.824,5.99,5200],[2.171,36.627,6.19,6300],[2.139,-17.578,6.06,3500],[2.218,25.463,6.23,5000],[2.334,79.715,6.01,8250],[2.295,59.15,2.27,7200],[2.26,18.212,5.53,5100],[2.26,-54.002,6.33,5600],[2.337,-27.988,5.42,7200],[2.353,-45.748,3.88,5000],[2.51,11.146,5.51,12000],[2.58,46.072,5.03,7200],[2.578,-5.249,5.84,4850],[2.509,-82.224,5.28,5200],[2.678,-12.58,5.85,5000],[2.816,-15.468,4.89,6450],[2.893,-27.8,5.41,4250],[2.933,-35.133,5.25,6900],[2.996,48.152,6.16,4400],[3.042,-17.938,5.25,4250],[3.309,15.184,2.83,26000],[3.35,26.987,6.3,6000],[3.378,41.035,5.72,7500],[3.425,-26.022,5.94,4250],[3.434,-26.285,6.31,4250],[3.51,33.206,6.25,9750],[3.651,20.207,4.8,3200],[3.615,-7.781,5.12,3050],[3.331,-84.994,5.77,3500],[3.66,-18.933,4.44,3050],[3.734,22.284,6.24,9750],[3.745,8.821,5.79,7500],[3.727,-9.57,5.75,12000],[3.779,31.536,6.45,4250],[3.794,27.283,6.35,9750],[3.743,-34.904,6.17,4550],[4.058,76.951,6.35,14000],[4.09,43.595,6.15,9500],[4.037,-31.446,5.67,4250],[3.98,-75.911,6.49,5200],[4.142,8.24,6.11,5200],[4.238,61.533,5.74,5200],[4.177,-20.211,6.47,14000],[4.288,47.947,5.89,16000],[4.273,38.682,4.61,9500],[4.429,51.433,6.14,30000],[4.386,-19.051,6.45,6900],[4.449,1.689,6.17,5000],[4.582,36.785,4.52,9500],[4.572,11.206,6.05,5000],[4.675,43.791,6.11,14000],[4.66,31.517,5.87,10000],[4.674,-8.053,6.46,6000],[4.677,-43.235,6.33,4700],[4.857,-8.824,3.56,4850],[4.923,40.73,6.33,4850],[5.022,48.865,6.52,10000],[5.018,-64.875,4.23,6150],[5.102,30.936,5.9,16000],[5.19,32.911,5.79,4250],[5.15,8.19,5.37,4550],[5.227,10.977,6.56,10000],[5.28,37.969,5.18,6750],[5.162,-69.625,5.51,12000],[5.38,-28.982,5.18,5500],[5.443,-20.058,5.12,2750],[5.606,13.482,6.23,4550],[5.369,-77.427,5.97,4550],[5.716,-12.209,6.39,5800],[5.803,-31.036,6.55,12000],[6.065,52.02,5.57,20000],[6.198,61.831,5.4,12000],[6.124,-2.219,6.07,4850],[6.277,53.047,5.74,12000],[6.351,1.94,5.77,5500],[6.438,-77.254,2.8,5800],[6.571,-42.306,2.39,5000],[6.551,-43.68,3.94,8250],[6.656,-0.05,6.19,5200],[6.811,-25.547,5.98,5200],[7.012,17.893,5.06,3050],[7.057,44.394,5.17,9500],[6.982,-33.007,4.81,2900],[7.053,16.445,6.06,4250],[7.084,10.19,6.04,6600],[7.088,-20.335,6.43,6000],[7.11,-39.915,5.43,3500],[7.236,36.9,6.26,5500],[7.18,-50.533,6.26,5000],[7.729,77.019,6.21,5000],[7.583,59.977,5.94,12000],[7.53,29.752,5.23,8250],[7.466,-14.864,6.14,7200],[7.454,-32.117,6.57,4400],[7.51,-3.957,5.72,3500],[7.595,-23.788,5.19,8750],[7.616,-40.939,6.19,7200],[7.609,-48.215,5.69,7200],[7.855,66.519,6.18,18000],[7.857,33.582,5.87,4850],[7.943,54.522,4.73,14000],[7.922,52.839,5.6,4700],[7.854,-48.804,4.77,10000],[7.886,-62.958,4.37,12000],[7.89,-62.966,4.54,9500],[8.33,70.982,6.42,10000],[8.25,62.932,4.16,28000],[8.148,20.294,5.38,5000],[8.099,6.956,5.67,12000],[8.205,28.28,6.3,5000],[8.293,54.895,5.93,5000],[8.182,-63.031,5.09,10000],[8.604,66.75,6.48,12000],[8.421,-29.558,5.55,4700],[8.347,-71.266,6.13,8250],[8.616,-52.373,5.57,7050],[8.73,13.371,6.4,5000],[8.812,-3.593,5.2,6300],[8.887,-0.506,5.93,6750],[9.035,54.169,5.08,16000],[8.978,13.207,6.41,6450],[9.114,60.326,5.79,9000],[8.921,-48.001,5.51,6600],[8.889,-54.822,6.06,5000],[9.083,27.255,6.5,14000],[9.012,-14.974,6.45,5100],[9.029,-22.842,6.06,8500],[9.194,44.489,5.13,4250],[9.243,53.897,3.66,26000],[9.22,33.719,4.36,20000],[9.197,15.232,5.89,26000],[9.28,24.014,6.47,4700],[9.338,35.399,5.48,5800],[9.947,82.494,6.4,6600],[9.336,-24.767,5.57,5200],[9.156,-65.125,6.42,4700],[9.377,3.135,6.39,4400],[9.325,-54.394,6.41,5000],[9.639,29.312,4.37,5400],[9.791,49.354,5.43,3950],[9.832,30.861,3.27,4550],[9.841,21.251,5.87,5000],[9.982,21.438,5.36,5000],[10.127,56.537,2.23,5000],[9.967,-44.797,6.01,4850],[10.119,-16.517,6.49,5500],[10.137,-23.804,6.14,5700],[10.177,-4.352,5.91,5000],[10.28,39.459,5.33,5200],[10.11,-59.454,5.89,5900],[10.514,66.148,5.83,5100],[10.4,24.629,6.04,8250],[10.516,50.513,4.8,26000],[10.332,-46.085,4.59,5200],[10.63,58.753,6.17,12000],[10.443,-56.502,5.7,8750],[10.867,47.025,4.94,8750],[10.679,-38.463,6.06,10000],[10.674,-60.263,5.98,4250],[10.618,-65.468,5.39,6600],[10.898,-17.987,2.04,5100],[11.11,47.864,5.67,20000],[10.959,-12.012,6.02,4700],[10.838,-57.463,4.36,10000],[11.412,74.988,5.66,9500],[11.181,48.284,4.54,20000],[11.047,-10.609,4.76,5000],[11.05,-38.422,5.9,4850],[11.322,55.222,5.42,9500],[11.185,-22.006,5.24,7350],[11.238,-42.677,5.94,7500],[11.135,-62.498,6.07,6750],[11.663,69.325,6.33,7050],[11.35,-4.629,6.15,3500],[11.25,-53.715,6.15,6450],[11.37,-12.881,6.15,6000],[11.563,55.305,6.52,9500],[11.545,44.861,6.05,12000],[11.424,-16.424,6.47,7350],[11.677,59.574,6.39,6000],[11.942,74.847,5.41,14000],[11.44,-47.552,5.8,5900],[11.549,-22.52Line truncated
-6
View File
@@ -1,6 +0,0 @@
/**
* @license
* Copyright 2010-2021 Three.js Authors
* SPDX-License-Identifier: MIT
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).THREE={})}(this,(function(t){"use strict";const e="128",n=100,i=300,r=301,s=302,a=303,o=304,l=306,c=307,h=1e3,u=1001,d=1002,p=1003,m=1004,f=1005,g=1006,v=1007,y=1008,x=1009,_=1012,w=1014,b=1015,M=1016,S=1020,T=1022,E=1023,A=1026,L=1027,R=33776,C=33777,P=33778,D=33779,I=35840,N=35841,B=35842,z=35843,F=37492,O=37496,H=2300,G=2301,U=2302,k=2400,V=2401,W=2402,j=2500,q=2501,X=3e3,Y=3001,Z=3007,J=3002,Q=3004,K=3005,$=3006,tt=7680,et=35044,nt=35048,it="300 es";class rt{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e<i;e++)n[e].call(this,t);t.target=null}}}const st=[];for(let t=0;t<256;t++)st[t]=(t<16?"0":"")+t.toString(16);let at=1234567;const ot=Math.PI/180,lt=180/Math.PI;function ct(){const t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return(st[255&t]+st[t>>8&255]+st[t>>16&255]+st[t>>24&255]+"-"+st[255&e]+st[e>>8&255]+"-"+st[e>>16&15|64]+st[e>>24&255]+"-"+st[63&n|128]+st[n>>8&255]+"-"+st[n>>16&255]+st[n>>24&255]+st[255&i]+st[i>>8&255]+st[i>>16&255]+st[i>>24&255]).toUpperCase()}function ht(t,e,n){return Math.max(e,Math.min(n,t))}function ut(t,e){return(t%e+e)%e}function dt(t,e,n){return(1-n)*t+n*e}function pt(t){return 0==(t&t-1)&&0!==t}function mt(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function ft(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}var gt=Object.freeze({__proto__:null,DEG2RAD:ot,RAD2DEG:lt,generateUUID:ct,clamp:ht,euclideanModulo:ut,mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:dt,damp:function(t,e,n,i){return dt(t,e,1-Math.exp(-n*i))},pingpong:function(t,e=1){return e-Math.abs(ut(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(at=t%2147483647),at=16807*at%2147483647,(at-1)/2147483646},degToRad:function(t){return t*ot},radToDeg:function(t){return t*lt},isPowerOfTwo:pt,ceilPowerOfTwo:mt,floorPowerOfTwo:ft,setQuaternionFromProperEuler:function(t,e,n,i,r){const s=Math.cos,a=Math.sin,o=s(n/2),l=a(n/2),c=s((e+i)/2),h=a((e+i)/2),u=s((e-i)/2),d=a((e-i)/2),p=s((i-e)/2),m=a((i-e)/2);switch(r){case"XYX":t.set(o*h,l*u,l*d,o*c);break;case"YZY":t.set(l*d,o*h,l*u,o*c);break;case"ZXZ":t.set(l*u,l*d,o*h,o*c);break;case"XZX":t.set(o*h,l*m,l*p,o*c);break;case"YXY":t.set(l*p,o*h,l*m,o*c);break;case"ZYZ":t.set(l*m,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}});class vt{constructor(t=0,e=0){this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=tLine truncated
-1
View File
@@ -1 +0,0 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports._vantaEffect=t():e._vantaEffect=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([function(e,t,n){"use strict";function i(e,t){for(let n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function o(){return"undefined"!=typeof navigator?/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<600:null}n.d(t,"c",(function(){return i})),n.d(t,"e",(function(){return o})),n.d(t,"i",(function(){return s})),n.d(t,"h",(function(){return r})),n.d(t,"g",(function(){return a})),n.d(t,"f",(function(){return h})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return u})),n.d(t,"d",(function(){return l})),Number.prototype.clamp=function(e,t){return Math.min(Math.max(this,e),t)};const s=e=>e[Math.floor(Math.random()*e.length)];function r(e,t){return null==e&&(e=0),null==t&&(t=1),e+Math.random()*(t-e)}function a(e,t){return null==e&&(e=0),null==t&&(t=1),Math.floor(e+Math.random()*(t-e+1))}const h=e=>document.querySelector(e),c=e=>"number"==typeof e?"#"+("00000"+e.toString(16)).slice(-6):e,u=(e,t=1)=>{const n=c(e),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n),o=i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null;return"rgba("+o.r+","+o.g+","+o.b+","+t+")"},l=e=>.299*e.r+.587*e.g+.114*e.b},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(0);const o="object"==typeof window;let s=o&&window.THREE||{};o&&!window.VANTA&&(window.VANTA={});const r=o&&window.VANTA||{};r.register=(e,t)=>r[e]=e=>new t(e),r.version="0.5.21";const a=function(){return Array.prototype.unshift.call(arguments,"[VANTA]"),console.error.apply(this,arguments)};r.VantaBase=class{constructor(e={}){if(!o)return!1;r.current=this,this.windowMouseMoveWrapper=this.windowMouseMoveWrapper.bind(this),this.windowTouchWrapper=this.windowTouchWrapper.bind(this),this.windowGyroWrapper=this.windowGyroWrapper.bind(this),this.resize=this.resize.bind(this),this.animationLoop=this.animationLoop.bind(this),this.restart=this.restart.bind(this);const t="function"==typeof this.getDefaultOptions?this.getDefaultOptions():this.defaultOptions;if(this.options=Object(i.c)({mouseControls:!0,touchControls:!0,gyroControls:!1,minHeight:200,minWidth:200,scale:1,scaleMobile:1},t),(e instanceof HTMLElement||"string"==typeof e)&&(e={el:e}),Object(i.c)(this.options,e),this.options.THREE&&(s=this.options.THREE),this.el=this.options.el,null==this.el)a('Instance needs "el" param!');else if(!(this.options.el instanceof HTMLElement)){const e=this.el;if(this.el=Object(i.f)(e),!this.el)return void a("Cannot find element",e)}this.prepareEl(),this.initThree(),this.setSize();try{this.init()}catch(e){return a("Init error",e),this.renderer&&this.renderer.domElement&&this.el.removeChild(this.renderer.domElement),void(this.options.backgroundColor&&(console.log("[VANTA] Falling back to backgroundColor"),this.el.style.background=Object(i.a)(this.options.backgroundColor)))}this.initMouse(),this.resize(),this.animationLoop();const n=window.addEventListener;n("resize",this.resize),window.requestAnimationFrame(this.resize),this.options.mouseControls&&(n("scroll",this.windowMouseMoveWrapper),n("mousemove",this.windowMouseMoveWrapper)),this.options.touchControls&&(n("touchstart",this.windowTouchWrapper),n("touchmove",this.windowTouchWrapper)),this.options.gyroControls&&n("deviceorientation",this.windowGyroWrapper)}setOptions(e={}){Object(i.c)(this.options,e),this.triggerMouseMove()}prepareEl(){let e,t;if("undefined"!=typeof Node&&Node.TEXT_NODE)for(e=0;e<this.el.childNodes.length;e++){const t=this.el.childNodes[e];if(t.nodeType===Node.TEXT_NODE){const e=document.createElement("span");e.textContent=t.textContent,t.parentElement.insertBefore(e,t),t.remove()}}for(e=0;e<this.el.children.length;e++)t=this.el.children[e],"static"===getComputedStyle(t).position&&(t.style.position="relative"),"auto"===getComputedStyle(t).zIndex&&(t.style.zIndex=1);"Line truncated
-1
View File
@@ -1 +0,0 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports._vantaEffect=t():e._vantaEffect=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function i(o){if(t[o])return t[o].exports;var s=t[o]={i:o,l:!1,exports:{}};return e[o].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(o,s,function(t){return e[t]}.bind(null,s));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=7)}([function(e,t,i){"use strict";function o(e,t){for(let i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e}function s(){return"undefined"!=typeof navigator?/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||window.innerWidth<600:null}i.d(t,"c",(function(){return o})),i.d(t,"e",(function(){return s})),i.d(t,"i",(function(){return n})),i.d(t,"h",(function(){return r})),i.d(t,"g",(function(){return h})),i.d(t,"f",(function(){return a})),i.d(t,"a",(function(){return u})),i.d(t,"b",(function(){return c})),i.d(t,"d",(function(){return l})),Number.prototype.clamp=function(e,t){return Math.min(Math.max(this,e),t)};const n=e=>e[Math.floor(Math.random()*e.length)];function r(e,t){return null==e&&(e=0),null==t&&(t=1),e+Math.random()*(t-e)}function h(e,t){return null==e&&(e=0),null==t&&(t=1),Math.floor(e+Math.random()*(t-e+1))}const a=e=>document.querySelector(e),u=e=>"number"==typeof e?"#"+("00000"+e.toString(16)).slice(-6):e,c=(e,t=1)=>{const i=u(e),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i),s=o?{r:parseInt(o[1],16),g:parseInt(o[2],16),b:parseInt(o[3],16)}:null;return"rgba("+s.r+","+s.g+","+s.b+","+t+")"},l=e=>.299*e.r+.587*e.g+.114*e.b},function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var o=i(0);const s="object"==typeof window;let n=s&&window.THREE||{};s&&!window.VANTA&&(window.VANTA={});const r=s&&window.VANTA||{};r.register=(e,t)=>r[e]=e=>new t(e),r.version="0.5.21";const h=function(){return Array.prototype.unshift.call(arguments,"[VANTA]"),console.error.apply(this,arguments)};r.VantaBase=class{constructor(e={}){if(!s)return!1;r.current=this,this.windowMouseMoveWrapper=this.windowMouseMoveWrapper.bind(this),this.windowTouchWrapper=this.windowTouchWrapper.bind(this),this.windowGyroWrapper=this.windowGyroWrapper.bind(this),this.resize=this.resize.bind(this),this.animationLoop=this.animationLoop.bind(this),this.restart=this.restart.bind(this);const t="function"==typeof this.getDefaultOptions?this.getDefaultOptions():this.defaultOptions;if(this.options=Object(o.c)({mouseControls:!0,touchControls:!0,gyroControls:!1,minHeight:200,minWidth:200,scale:1,scaleMobile:1},t),(e instanceof HTMLElement||"string"==typeof e)&&(e={el:e}),Object(o.c)(this.options,e),this.options.THREE&&(n=this.options.THREE),this.el=this.options.el,null==this.el)h('Instance needs "el" param!');else if(!(this.options.el instanceof HTMLElement)){const e=this.el;if(this.el=Object(o.f)(e),!this.el)return void h("Cannot find element",e)}this.prepareEl(),this.initThree(),this.setSize();try{this.init()}catch(e){return h("Init error",e),this.renderer&&this.renderer.domElement&&this.el.removeChild(this.renderer.domElement),void(this.options.backgroundColor&&(console.log("[VANTA] Falling back to backgroundColor"),this.el.style.background=Object(o.a)(this.options.backgroundColor)))}this.initMouse(),this.resize(),this.animationLoop();const i=window.addEventListener;i("resize",this.resize),window.requestAnimationFrame(this.resize),this.options.mouseControls&&(i("scroll",this.windowMouseMoveWrapper),i("mousemove",this.windowMouseMoveWrapper)),this.options.touchControls&&(i("touchstart",this.windowTouchWrapper),i("touchmove",this.windowTouchWrapper)),this.options.gyroControls&&i("deviceorientation",this.windowGyroWrapper)}setOptions(e={}){Object(o.c)(this.options,e),this.triggerMouseMove()}prepareEl(){let e,t;if("undefined"!=typeof Node&&Node.TEXT_NODE)for(e=0;e<this.el.childNodes.length;e++){const t=this.el.childNodes[e];if(t.nodeType===Node.TEXT_NODE){const e=document.createElement("span");e.textContent=t.textContent,t.parentElement.insertBefore(e,t),t.remove()}}for(e=0;e<this.el.children.length;e++)t=this.el.children[e],"static"===getComputedStyle(t).position&&(t.style.position="relative"),"auto"===getComputedStyle(t).zIndex&&(t.style.zIndex=1);"Line truncated