// umbrella twirling in the rain, colored panels sweeping round, raindrops splashing off the top const{sin,cos,PI,asin,max}=Math,T=2*PI export const frames=24,delay=60 const COL=['#ff6b6b','#ffd43b','#4dabf7','#ff6b6b','#ffd43b','#4dabf7'],BU='#a5d8ff' const CX=128,TOP=46,BASE=124,RX=94 const dome=c=>{c.beginPath();c.moveTo(CX-RX,BASE);c.bezierCurveTo(CX-RX,TOP-20,CX+RX,TOP-20,CX+RX,BASE);const n=6;for(let k=0;k{const u=(x-CX)/RX;return BASE-(BASE-TOP+16)*(1-u*u)*.98} export default(c,t)=>{ const rot=t*T/3 for(const[x,o]of[[60,0],[104,.4],[150,.7],[196,.2],[226,.55]]){ const p=(t*2+o)%1,ys=surf(x)-6,y=-20+p*(ys+20)*1.6 c.lineWidth=4;c.fillStyle=BU if(yPI)continue;const x=CX+RX*cos(a);c.beginPath();c.moveTo(CX,TOP-6);c.quadraticCurveTo(x,TOP,x,BASE+4);c.stroke()} c.restore();c.lineWidth=7;dome(c);c.stroke() c.fillStyle='#ced4da';c.beginPath();c.roundRect(CX-4,TOP-24,8,16,4);c.fill();c.lineWidth=5;c.stroke() }