{"version":3,"file":"AgentAnimation.CzZEE2gF.mjs","names":["useId","useState","useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/9ZGHH0OuL1aIZkQV3sIK/vzKdN9j8YthEnMnYkhDN/AgentAnimation.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef,useState,useId}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// ─── Geometry ────────────────────────────────────────────────────────────────\nconst PAD=24;const CX=46+PAD;const CY=46+PAD;const LEFT=CX-40;const RIGHT=CX+40;const TOP=CY-40;const BOTTOM=CY+40;const INNER_TOP=CY-20;const INNER_BOTTOM=CY+20;const SPAN_MIN=CX-32;const SPAN_MAX=CX+32;const FLOOR_Y=CY+36;const WAVE_XS=[10,24,34,46,58,68,82].map(x=>x+PAD);const BAR_XS=[8,21,34,46,58,71,84].map(x=>x+PAD);const HOME={tc:[CX,TOP],lt:[LEFT,INNER_TOP],rt:[RIGHT,INNER_TOP],cn:[CX,CY],lb:[LEFT,INNER_BOTTOM],rb:[RIGHT,INNER_BOTTOM],bc:[CX,BOTTOM]};const VB=92+PAD*2;const DOTS=[\"tc\",\"lt\",\"rt\",\"cn\",\"lb\",\"rb\",\"bc\"];const CW=[\"tc\",\"rt\",\"rb\",\"bc\",\"lb\",\"lt\"];const ICON_SCALE=2.8;function uniformRadii(r){return Object.fromEntries(DOTS.map(d=>[d,r]));}const GRILLE_DOTS=(()=>{const dots=[];const rings=[{r:0,n:1},{r:12,n:6},{r:22,n:10},{r:32,n:14},{r:42,n:18}];rings.forEach(({r,n},ri)=>{for(let i=0;i<n;i++){const angle=i/n*Math.PI*2-Math.PI/2;dots.push({x:CX+r*Math.cos(angle),y:CY+r*Math.sin(angle),ring:ri});}});return dots;})();// ─── Easing / timing ─────────────────────────────────────────────────────────\nfunction easeInOut(t){return t<.5?2*t*t:-1+(4-2*t)*t;}function easeOut(t){return 1-Math.pow(1-t,3);}function foldPingPong(t){return t<.5?t*2:(1-t)*2;}function getMorphSpeed(mode,speed){return mode===\"morph\"?speed*2:speed;}function getLoopPhase(now,loopStart,speed,mode){const morphSpeed=getMorphSpeed(mode,speed);return loopStart!==null?(now-loopStart)%morphSpeed/morphSpeed:0;}// Find optimal dot assignment: maps each current dot to the nearest target slot\nfunction findBestRemap(currentPos,targetPos){const remap={};const available=new Set(DOTS);const pairs=[];for(const from of DOTS){for(const to of DOTS){const[fx,fy]=currentPos[from];const[tx,ty]=targetPos[to];pairs.push({from,to,dist:Math.hypot(fx-tx,fy-ty)});}}pairs.sort((a,b)=>a.dist-b.dist);const usedFrom=new Set;for(const{from,to}of pairs){if(usedFrom.has(from)||!available.has(to))continue;remap[from]=to;usedFrom.add(from);available.delete(to);if(usedFrom.size===DOTS.length)break;}return remap;}const DEFAULT_MORPH_TIMELINE={convergeEnd:.35,quiverStart:.01,quiverPeak:.4,quiverEnd:.8,quiverCycles:1.5,iconStart:.4,blobShrink:.4,crossEnd:.8,blobStroke:30};function permutedState(slotMap){const pos={};for(const d of DOTS)pos[d]=[...HOME[slotMap[d]]];return pos;}const AF_STATES=[{tc:\"tc\",lt:\"lt\",rt:\"rt\",cn:\"cn\",lb:\"lb\",rb:\"rb\",bc:\"bc\"},{tc:\"rt\",lt:\"tc\",rt:\"cn\",cn:\"lt\",lb:\"lb\",rb:\"rb\",bc:\"bc\"},{tc:\"rb\",lt:\"tc\",rt:\"rt\",cn:\"lt\",lb:\"lb\",rb:\"bc\",bc:\"cn\"},{tc:\"bc\",lt:\"tc\",rt:\"rt\",cn:\"lt\",lb:\"cn\",rb:\"lb\",bc:\"rb\"},{tc:\"lb\",lt:\"tc\",rt:\"rt\",cn:\"cn\",lb:\"bc\",rb:\"lt\",bc:\"rb\"}].map(permutedState);function modeStatic(_t,r){return{pos:{...HOME},r:uniformRadii(r)};}function modeBreathe(t,baseR){const scale=1+.45*Math.sin(t*Math.PI*2);const pos={};const r={};for(const d of DOTS){const[hx,hy]=HOME[d];pos[d]=[CX+(hx-CX)*scale,CY+(hy-CY)*scale];r[d]=baseR;}return{pos,r};}function modeFaceSimple(t,baseR,slots){const step=Math.floor(t*4)%4;const ease=easeInOut(Math.min(t*4%1/.6,1));const pos={...HOME};const r=uniformRadii(baseR);for(let i=0;i<4;i++){const dotIdx=((i-step)%4+4)%4;const dot=slots[dotIdx];const prevSlot=slots[((dotIdx-1)%4+4)%4];const[x1,y1]=HOME[prevSlot];const[x2,y2]=HOME[slots[dotIdx]];pos[dot]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];}return{pos,r};}function modeAllFaces(t,baseR){const phase=Math.min(Math.floor(t*4),3);const ease=easeInOut(Math.min(t*4%1/.6,1));const from=AF_STATES[phase];const to=AF_STATES[phase+1];const pos={};for(const d of DOTS){const[x1,y1]=from[d];const[x2,y2]=to[d];pos[d]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];}return{pos,r:uniformRadii(baseR)};}function modeCombine(t,baseR){const m=t<.15?easeInOut(t/.15):t<.35?1:t<.5?easeInOut(1-(t-.35)/.15):0;const pos={};for(const d of DOTS){const[hx,hy]=HOME[d];pos[d]=[hx+(CX-hx)*m,hy+(CY-hy)*m];}return{pos,r:uniformRadii(baseR)};}function modeRotate(t,baseR){const step=Math.floor(t*6)%6;const ease=easeInOut(Math.min(t*6%1/.6,1));const pos={cn:[CX,CY]};for(let i=0;i<6;i++){const[x1,y1]=HOME[CW[(i+step)%6]];const[x2,y2]=HOME[CW[(i+step+1)%6]];pos[CW[i]]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];}return{pos,r:uniformRadii(baseR)};}function modePairSwap(t,baseR){const pairs=[[\"tc\",\"bc\"],[\"lt\",\"rb\"],[\"rt\",\"lb\"]];const phase=Math.floor(t*3)%3;const ease=easeInOut(Math.min(t*3%1/.6,1));const pos={...HOME};const r=uniformRadii(baseR);const[a,b]=pairs[phase];const[ax,ay]=HOME[a];const[bx,by]=HOME[b];const arc=Math.sin(ease*Math.PI)*20;const len=Math.hypot(bx-ax,by-ay);const nx=-(by-ay)/len;const ny=(bx-ax)/len;pos[a]=[ax+(bx-ax)*ease+nx*arc,ay+(by-ay)*ease+ny*arc];pos[b]=[bx+(ax-bx)*ease-nx*arc,by+(ay-by)*ease-ny*arc];return{pos,r};}function modeWave(t,baseR){const pos={...HOME};const r={};for(let i=0;i<6;i++){const phase=(t-i/6+1)%1;r[CW[i]]=baseR*(1+.8*Math.max(0,Math.sin(phase*Math.PI*2)));}r[\"cn\"]=baseR*(1+.5*Math.sin(t*Math.PI*2));return{pos,r};}function modeTypewriter(t,baseR){const order=[\"tc\",\"rt\",\"rb\",\"bc\",\"lb\",\"lt\",\"cn\"];const n=order.length;const pos={...HOME};const r={};for(let i=0;i<n;i++){const as=i/n*.44;const ae=as+.44/n;const ds=.56+i/n*.44;const de=ds+.44/n;let s=0;if(t>=as&&t<ae)s=easeOut((t-as)/(ae-as));else if(t>=ae&&t<ds)s=1;else if(t>=ds&&t<de)s=1-easeOut((t-ds)/(de-ds));r[order[i]]=baseR*s;}return{pos,r};}function modeSplit(t,baseR){const step=Math.floor(t*3)%3;const ease=easeInOut(Math.min(t*3%1/.6,1));const cwG=[\"tc\",\"rb\",\"lb\"];const ccwG=[\"rt\",\"bc\",\"lt\"];const cwT=[[\"tc\",\"rb\",\"lb\"],[\"rb\",\"lb\",\"tc\"],[\"lb\",\"tc\",\"rb\"]];const ccwT=[[\"rt\",\"bc\",\"lt\"],[\"lt\",\"rt\",\"bc\"],[\"bc\",\"lt\",\"rt\"]];const pos={cn:[CX,CY]};const r=uniformRadii(baseR);for(let i=0;i<3;i++){const[x1,y1]=HOME[cwT[(step+2)%3][i]];const[x2,y2]=HOME[cwT[step][i]];pos[cwG[i]]=[x1+(x2-x1)*ease,y1+(y2-y1)*ease];const[cx1,cy1]=HOME[ccwT[(step+2)%3][i]];const[cx2,cy2]=HOME[ccwT[step][i]];pos[ccwG[i]]=[cx1+(cx2-cx1)*ease,cy1+(cy2-cy1)*ease];}return{pos,r};}const TRI=[[CX,CY-36],[CX-34,CY+26],[CX+34,CY+26]];function modeTriangle(t,baseR){let blend;if(t<.25)blend=easeInOut(t/.25);else if(t<.75)blend=1;else blend=easeInOut(1-(t-.75)/.25);const spin=t*Math.PI*2;const rotTri=TRI.map(([px,py])=>{const dx=px-CX,dy=py-CY;return[CX+dx*Math.cos(spin)-dy*Math.sin(spin),CY+dx*Math.sin(spin)+dy*Math.cos(spin)];});const targets=[rotTri[0],rotTri[1],rotTri[2],rotTri[0],rotTri[1],rotTri[2],[CX,CY]];const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const[tx,ty]=targets[i];pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR;});return{pos,r};}function modeArrow(t,baseR){const arm=36*(1+.25*Math.sin(t*Math.PI*2));const targets={tc:[CX,CY-arm],bc:[CX,CY+arm],lt:[CX-arm,CY],rt:[CX+arm,CY],cn:[CX,CY],lb:[CX-arm*.5,CY+arm*.5],rb:[CX+arm*.5,CY+arm*.5]};let blend;if(t<.2)blend=easeInOut(t/.2);else if(t<.8)blend=1;else blend=easeInOut(1-(t-.8)/.2);const pos={};const r={};for(const d of DOTS){const[hx,hy]=HOME[d];const[tx,ty]=targets[d];pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR;}return{pos,r};}const SCATTER_PARAMS=[{bx:3,by:2,px:0,py:0},{bx:2,by:3,px:.14,py:.57},{bx:4,by:3,px:.28,py:.21},{bx:3,by:4,px:.42,py:.78},{bx:5,by:2,px:.56,py:.35},{bx:2,by:5,px:.7,py:.92},{bx:4,by:5,px:.85,py:.14}];function modeScatter(t,baseR){const pos={};const r={};const span=SPAN_MAX-SPAN_MIN;DOTS.forEach((d,i)=>{const{bx,by,px,py}=SCATTER_PARAMS[i];const tx=(t+px)%1;const ty=(t+py)%1;const x=SPAN_MIN+Math.abs(tx*bx*2%2-1)*span;const y=SPAN_MIN+Math.abs(ty*by*2%2-1)*span;pos[d]=[x,y];r[d]=baseR;});return{pos,r};}function modeGravity(t,baseR){const floor=FLOOR_Y;const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const delay=i*.08;const lt=(t-delay+1)%1;let y;let scaleY=1;if(lt<.35){y=hy+(floor-hy)*easeInOut(lt/.35);}else if(lt<.45){y=floor;scaleY=1-Math.sin((lt-.35)/.1*Math.PI)*.3;}else if(lt<.8){y=floor+(hy-floor)*easeOut((lt-.45)/.35);}else{y=hy;}pos[d]=[hx,y];r[d]=baseR*scaleY;});return{pos,r};}function modeMetronome(t,baseR){const pos={};const r={};const swing=18;DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const delay=i*(1/DOTS.length)*.5;const lt=(t-delay+1)%1;const x=hx+swing*Math.sin(lt*Math.PI*2);pos[d]=[x,hy];r[d]=baseR;});return{pos,r};}const MORSE_SOS=[.15,0,.15,0,.15,0,.1,.5,.1,0,.5,0,.5,0,.5,0,.1,.5,.1,0,.15,0,.15,0,.15,0,.2];const MORSE_TOTAL=MORSE_SOS.reduce((a,b)=>a+b,0);function morsePulseAt(tAbs){let acc=0;for(let i=0;i<MORSE_SOS.length;i++){acc+=MORSE_SOS[i];if(tAbs<acc)return i%2===0?1:0;}return 0;}function modeMorse(t,baseR){const pos={...HOME};const r={};DOTS.forEach((d,i)=>{const offset=i*(MORSE_TOTAL/DOTS.length);const tAbs=(t*MORSE_TOTAL+offset)%MORSE_TOTAL;const on=morsePulseAt(tAbs);r[d]=baseR*(.3+.7*on);});return{pos,r};}function modeChase(t,baseR){const n=CW.length;const getPosOnRing=ft=>{const norm=(ft%1+1)%1;const slotF=norm*n;const slot=Math.floor(slotF)%n;const frac=easeInOut(slotF%1);const[x1,y1]=HOME[CW[slot]];const[x2,y2]=HOME[CW[(slot+1)%n]];return[x1+(x2-x1)*frac,y1+(y2-y1)*frac];};const pos={};const r={};for(const d of DOTS){pos[d]=[...HOME[d]];r[d]=0;}pos[\"lt\"]=getPosOnRing(t);pos[\"cn\"]=getPosOnRing(t-.16);pos[\"lb\"]=getPosOnRing(t-.32);r[\"lt\"]=baseR;r[\"cn\"]=baseR*.8;r[\"lb\"]=baseR*.6;return{pos,r};}function modeFlock(t,baseR){const cx=CX+22*Math.sin(t*Math.PI*2);const cy=CY+14*Math.sin(t*Math.PI*4);let blend;if(t<.4)blend=easeInOut(t/.4);else if(t<.6)blend=1;else blend=easeInOut(1-(t-.6)/.4);const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const angle=i/DOTS.length*Math.PI*2;const spread=(1-blend)*6;const tx=cx+Math.cos(angle)*spread;const ty=cy+Math.sin(angle)*spread;pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR*(1-blend*.15);});return{pos,r};}function modeRecord(_t,_baseR){const pos={};const r={};for(const d of DOTS){pos[d]=[CX,CY];r[d]=0// hidden — grille overlay takes over\n;}return{pos,r};}function modeOscilloscope(t,baseR,now){const pos={};const r={};const amp=28;const time=now??t;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*.65*Math.sin((xNorm*2.5+time*.5)*Math.PI*2)+amp*.35*Math.sin((xNorm*4.1-time*.65)*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function seededRand(seed){const x=Math.sin(seed)*43758.5453;return x-Math.floor(x);}function modeNoise(t,baseR){const pos={};const r={};const jitter=5;DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const ti=Math.floor(t*24);const tf=t*24%1;const rx1=seededRand(i*100+ti)-.5;const ry1=seededRand(i*100+ti+50)-.5;const rx2=seededRand(i*100+ti+1)-.5;const ry2=seededRand(i*100+ti+51)-.5;const e=easeInOut(tf);pos[d]=[hx+(rx1+(rx2-rx1)*e)*jitter,hy+(ry1+(ry2-ry1)*e)*jitter];r[d]=baseR;});return{pos,r};}function modeStutter(t,baseR){const stutterRate=8;const snap=Math.floor(t*stutterRate);const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const ox=(seededRand(i*77+snap*13)-.5)*30;const oy=(seededRand(i*77+snap*13+99)-.5)*30;const present=seededRand(i*77+snap*13+44)>.15;pos[d]=[hx+ox,hy+oy];r[d]=present?baseR:0;});return{pos,r};}function modeReverb(t,baseR){const pos={};const r={};pos[\"cn\"]=[CX,CY];r[\"cn\"]=baseR*(.6+.4*Math.abs(Math.sin(t*Math.PI*2)));const echoSlots=[\"tc\",\"rt\",\"rb\",\"bc\",\"lb\",\"lt\"];echoSlots.forEach((d,i)=>{const delay=i/echoSlots.length;const lt=(t-delay+1)%1;const expand=easeOut(lt);const decay=1-lt;const[hx,hy]=HOME[d];const ex=CX+(hx-CX)*expand;const ey=CY+(hy-CY)*expand;pos[d]=[ex,ey];r[d]=baseR*decay*.85;});return{pos,r};}function modeSine(t,baseR,now){const pos={};const r={};const amp=30;const time=now??t;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*Math.sin((xNorm*2-time*.6)*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modeStandingWave(t,baseR){const pos={};const r={};const maxAmp=32;const amp=maxAmp*Math.sin(t*Math.PI*2);DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*Math.sin(xNorm*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modeLissajous(t,baseR,now){const pos={};const r={};const time=now??t;const rx=36,ry=28;DOTS.forEach((d,i)=>{const offset=i/DOTS.length*Math.PI*2;const angle=time*.8+offset;const x=CX+rx*Math.sin(angle*2);const y=CY+ry*Math.sin(angle*3);pos[d]=[x,y];r[d]=baseR;});return{pos,r};}function modeBreathingSine(t,baseR,now){const pos={};const r={};const time=now??t;const amp=30*(.3+.7*Math.abs(Math.sin(time*.25*Math.PI)));DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const y=CY+amp*Math.sin((xNorm*2-time*.55)*Math.PI*2);pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modeSawtooth(t,baseR,now){const pos={};const r={};const time=now??t;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const phase=((xNorm*1.5-time*.5)%1+1)%1;const saw=phase<.8?phase/.8:(1-phase)/.2;const y=CY+(saw-.5)*56;pos[d]=[WAVE_XS[i],y];r[d]=baseR;});return{pos,r};}function modePhaseShift(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const[hx]=HOME[d];const phase=i/DOTS.length*Math.PI*2;const y=CY+30*Math.sin(t*Math.PI*2+phase);pos[d]=[hx,y];r[d]=baseR;});return{pos,r};}function modeSnake(t,baseR,now){const pos={};const r={};const time=now??t;const amp=32;DOTS.forEach((d,i)=>{const xNorm=i/(DOTS.length-1);const x=SPAN_MIN+xNorm*(SPAN_MAX-SPAN_MIN);const y=CY+amp*Math.sin((xNorm-time*.4)*Math.PI*2);pos[d]=[x,y];r[d]=baseR;});return{pos,r};}function modeEQBars(t,baseR){const pos={};const r={};const freqs=[1,2,3,4,3,2,1];const phases=[0,.25,.1,.5,.7,.15,.4];DOTS.forEach((d,i)=>{const level=.3+.7*Math.abs(Math.sin((t*freqs[i]+phases[i])*Math.PI*2));const y=CY+22-level*44;pos[d]=[BAR_XS[i],y];r[d]=baseR;});return{pos,r};}const WF_LAG=1/(DOTS.length-1)*.38;function modeWaveSimple(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const s=t-(DOTS.length-1-i)*WF_LAG;const amp=Math.sin(s*Math.PI*2);pos[d]=[BAR_XS[i],CY+amp*34];r[d]=baseR;});return{pos,r};}function modeWaveDouble(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const s=t-(DOTS.length-1-i)*WF_LAG;const amp=Math.sin(s*Math.PI*2*2);pos[d]=[BAR_XS[i],CY+amp*30];r[d]=baseR;});return{pos,r};}function modeWaveDrift(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const s=t-(DOTS.length-1-i)*WF_LAG;const amp=Math.sin(s*Math.PI*2*1)*.6+Math.sin(s*Math.PI*2*3)*.4;pos[d]=[BAR_XS[i],CY+amp*28];r[d]=baseR;});return{pos,r};}function modeOrbitPulse(t,baseR){const pos={};const r={};const amp=.5+.5*Math.sin(t*Math.PI*2);const minRad=12,maxRad=40;const radius=minRad+amp*(maxRad-minRad);CW.forEach((d,i)=>{const angle=i/CW.length*Math.PI*2+t*Math.PI*2;pos[d]=[CX+radius*Math.cos(angle),CY+radius*Math.sin(angle)];r[d]=baseR;});pos[\"cn\"]=[CX,CY];r[\"cn\"]=baseR;return{pos,r};}function modeSpiral(t,baseR){const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const offset=i/DOTS.length*Math.PI*2;const angle=t*Math.PI*4+offset;const rad=28*Math.sin(t*Math.PI);const tx=CX+rad*Math.cos(angle);const ty=CY+rad*Math.sin(angle);let blend;if(t<.15)blend=easeInOut(t/.15);else if(t<.85)blend=1;else blend=easeInOut(1-(t-.85)/.15);pos[d]=[hx+(tx-hx)*blend,hy+(ty-hy)*blend];r[d]=baseR;});return{pos,r};}function modeRelay(t,baseR){const n=CW.length;const pos={...HOME};const r={};CW.forEach((d,i)=>{const phase=(t-i/n+1)%1;const swell=Math.max(0,Math.sin(phase*Math.PI*n));r[d]=baseR*(1+swell*.8);});r[\"cn\"]=baseR;return{pos,r};}const DRUNK_PARAMS=DOTS.map((_,i)=>({fx:.3+i%3*.11,fy:.37+i%4*.09,px:i*.137,py:i*.241,amp:8+i%3*3}));function modeDrunk(t,baseR,now){const time=now??t;const pos={};const r={};DOTS.forEach((d,i)=>{const[hx,hy]=HOME[d];const{fx,fy,px,py,amp}=DRUNK_PARAMS[i];pos[d]=[hx+amp*Math.sin((time*fx+px)*Math.PI*2),hy+amp*Math.sin((time*fy+py)*Math.PI*2)];r[d]=baseR;});return{pos,r};}// MORPH — forward: dots converge → quiver → icon grows out of blob\n//          reverse: icon shrinks back → quiver → dots expand home\nfunction modeMorph(t,baseR){const timeline=DEFAULT_MORPH_TIMELINE;const tf=foldPingPong(t);const convergeEnd=timeline.convergeEnd;const crossStart=timeline.blobShrink;const crossEnd=timeline.crossEnd;let posBlend,radScale;if(tf<convergeEnd){posBlend=easeInOut(tf/convergeEnd);radScale=1;}else if(tf<crossEnd){posBlend=1;const x=Math.max(0,(tf-crossStart)/(crossEnd-crossStart));radScale=1-easeInOut(Math.min(x,1));}else{posBlend=1;radScale=0;}const pos={};const r={};for(const d of DOTS){const[hx,hy]=HOME[d];pos[d]=[hx+(CX-hx)*posBlend,hy+(CY-hy)*posBlend];r[d]=baseR*radScale;}return{pos,r};}// ─── Registry ────────────────────────────────────────────────────────────────\nconst MODES={static:modeStatic,breathe:modeBreathe,topFace:(t,r)=>modeFaceSimple(t,r,[\"tc\",\"rt\",\"cn\",\"lt\"]),leftFace:(t,r)=>modeFaceSimple(t,r,[\"lt\",\"cn\",\"bc\",\"lb\"]),rightFace:(t,r)=>modeFaceSimple(t,r,[\"rt\",\"rb\",\"bc\",\"cn\"]),bottomFace:(t,r)=>modeFaceSimple(t,r,[\"bc\",\"lb\",\"cn\",\"rb\"]),allFaces:modeAllFaces,combine:modeCombine,rotate:modeRotate,pairSwap:modePairSwap,wave:modeWave,typewriter:modeTypewriter,split:modeSplit,triangle:modeTriangle,arrow:modeArrow,scatter:modeScatter,gravity:modeGravity,metronome:modeMetronome,morse:modeMorse,chase:modeChase,flock:modeFlock,record:modeRecord,oscilloscope:modeOscilloscope,noise:modeNoise,stutter:modeStutter,reverb:modeReverb,sine:modeSine,standingWave:modeStandingWave,lissajous:modeLissajous,breathingSine:modeBreathingSine,sawtooth:modeSawtooth,phaseShift:modePhaseShift,snake:modeSnake,eqBars:modeEQBars,waveSimple:modeWaveSimple,waveDouble:modeWaveDouble,waveDrift:modeWaveDrift,orbitPulse:modeOrbitPulse,spiral:modeSpiral,relay:modeRelay,drunk:modeDrunk,morph:modeMorph};const MODE_OPTIONS=[\"allFaces\",\"static\",\"breathe\",\"topFace\",\"leftFace\",\"rightFace\",\"bottomFace\",\"combine\",\"rotate\",\"pairSwap\",\"wave\",\"typewriter\",\"split\",\"triangle\",\"arrow\",\"scatter\",\"gravity\",\"metronome\",\"morse\",\"chase\",\"flock\",\"record\",\"oscilloscope\",\"noise\",\"stutter\",\"reverb\",\"sine\",\"standingWave\",\"lissajous\",\"breathingSine\",\"sawtooth\",\"phaseShift\",\"snake\",\"eqBars\",\"waveSimple\",\"waveDouble\",\"waveDrift\",\"orbitPulse\",\"spiral\",\"relay\",\"drunk\",\"morph\"];const MODE_TITLES=[\"All Faces\",\"Static\",\"Breathe\",\"Top Face\",\"Left Face\",\"Right Face\",\"Bottom Face\",\"Combine\",\"Rotate\",\"Pair Swap\",\"Wave\",\"Typewriter\",\"Split\",\"Triangle\",\"Arrow\",\"Scatter\",\"Gravity\",\"Metronome\",\"Morse\",\"Chase\",\"Flock\",\"Record\",\"Oscilloscope\",\"Noise\",\"Stutter\",\"Reverb\",\"Sine\",\"Standing Wave\",\"Lissajous\",\"Breathing Sine\",\"Sawtooth\",\"Phase Shift\",\"Snake\",\"EQ Bars\",\"Wave Simple\",\"Wave Double\",\"Wave Drift\",\"Orbit Pulse\",\"Spiral\",\"Relay\",\"Drunk\",\"Morph\"];// Modes that use real-time `now` — need live targets during transitions\nconst REALTIME_MODES=new Set([\"oscilloscope\",\"sine\",\"lissajous\",\"breathingSine\",\"sawtooth\",\"snake\",\"drunk\"]);// ─── Lucide icon paths (for Morph mode) ──────────────────────────────────────\nconst LUCIDE_ICONS={mic:{label:\"Mic\",paths:[\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3z\",\"M19 10v2a7 7 0 0 1-14 0v-2\",\"M12 19v3\",\"M8 22h8\"]},headphones:{label:\"Headphones\",paths:[\"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3\"]},brain:{label:\"Brain\",paths:[\"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z\",\"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z\",\"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4\",\"M17.599 6.5a3 3 0 0 0 .399-1.375\",\"M6.003 5.125A3 3 0 0 0 6.401 6.5\",\"M3.477 10.896a4 4 0 0 1 .585-.396\",\"M19.938 10.5a4 4 0 0 1 .585.396\",\"M6 18a4 4 0 0 1-1.967-.516\",\"M19.967 17.484A4 4 0 0 1 18 18\"]},ear:{label:\"Ear\",paths:[\"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 0 1-7 0\",\"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4\"]},volume2:{label:\"Volume\",paths:[\"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z\",\"M16 9a5 5 0 0 1 0 6\",\"M19.364 18.364a9 9 0 0 0 0-12.728\"]},\"message-circle\":{label:\"Message\",paths:[\"M7.9 20A9 9 0 1 0 4 16.1L2 22Z\"]},\"audio-waveform\":{label:\"Waveform\",paths:[\"M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 0-2-2\"]},\"file-text\":{label:\"File Text\",paths:[\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\",\"M14 2v4a2 2 0 0 0 2 2h4\",\"M10 9H8\",\"M16 13H8\",\"M16 17H8\"]},notebook:{label:\"Notebook\",paths:[\"M2 6h4\",\"M2 10h4\",\"M2 14h4\",\"M2 18h4\",\"M6 2v20\",\"M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6\"]},\"book-open\":{label:\"Book\",paths:[\"M12 7v14\",\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\"]},clipboard:{label:\"Clipboard\",paths:[\"M9 2h6a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\",\"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2\"]},\"bar-chart-2\":{label:\"Bar Chart\",paths:[\"M18 20V10\",\"M12 20V4\",\"M6 20v-6\"]},\"chart-line\":{label:\"Line Chart\",paths:[\"M3 3v16a2 2 0 0 0 2 2h16\",\"m19 9-5 5-4-4-3 3\"]},database:{label:\"Database\",paths:[\"M12 2C6.48 2 2 3.79 2 6v12c0 2.21 4.48 4 10 4s10-1.79 10-4V6c0-2.21-4.48-4-10-4z\",\"M2 6c0 2.21 4.48 4 10 4s10-1.79 10-4\",\"M2 12c0 2.21 4.48 4 10 4s10-1.79 10-4\"]},search:{label:\"Search\",paths:[\"M21 21l-4.35-4.35\",\"M17 11A6 6 0 1 1 5 11a6 6 0 0 1 12 0z\"]},\"play-circle\":{label:\"Play\",paths:[\"M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z\",\"M10 8l6 4-6 4V8z\"]},video:{label:\"Video\",paths:[\"M15 10l4.553-2.276A1 1 0 0 1 21 8.723v6.554a1 1 0 0 1-1.447.894L15 14v-4z\",\"M3 8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8z\"]},image:{label:\"Image\",paths:[\"M15 8h.01\",\"M3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6z\",\"M3 16l5-5 4 4 3-3 4 4\"]},music:{label:\"Music\",paths:[\"M9 18V5l12-2v13\",\"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\",\"M18 19a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"]},podcast:{label:\"Podcast\",paths:[\"M16.85 18.58a9 9 0 1 0-9.7 0\",\"M8 14a5 5 0 1 1 8 0\",\"M12 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\",\"M12 14v7\"]}};const ICON_OPTIONS=Object.keys(LUCIDE_ICONS);const ICON_TITLES=ICON_OPTIONS.map(k=>LUCIDE_ICONS[k].label);/**\n * Listen Labs agent animation — seven dots driven by 42 loopable modes,\n * with a gooey morph into Lucide icons.\n *\n * @framerIntrinsicWidth 250\n * @framerIntrinsicHeight 250\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function AgentAnimation(props){const{mode=\"allFaces\",color=\"#0021CC\",dotRadius=12,speed=2,transitionDuration=.6,morphIcon=\"image\",iconStrokeWidth=5,cycleIcons=false,style}=props;const isStatic=useIsStaticRenderer();const gooId=useId().replace(/[^a-zA-Z0-9_-]/g,\"\")+\"-goo\";const[iconKey,setIconKey]=useState(morphIcon);useEffect(()=>{setIconKey(morphIcon);},[morphIcon]);const s=useRef({mode,speed,dotRadius,color,transitionDuration,iconStrokeWidth,cycleIcons,currentIconKey:morphIcon,setIconKey:null,loopStart:null,fromPositions:null,fromRadii:null,toPositions:null,toRadii:null,dotRemap:null,transitionStart:null,switchT:0});s.current.speed=speed;s.current.dotRadius=dotRadius;s.current.transitionDuration=transitionDuration;s.current.color=color;s.current.iconStrokeWidth=iconStrokeWidth;s.current.cycleIcons=cycleIcons;s.current.currentIconKey=iconKey;s.current.setIconKey=setIconKey;const rootRef=useRef(null);const dotElsRef=useRef({});const grilleElsRef=useRef([]);const quiverElsRef=useRef([]);const iconOverlayRef=useRef(null);const iconCrispRef=useRef(null);const iconOverlayInnerRef=useRef(null);const iconCrispInnerRef=useRef(null);const blurRef=useRef(null);const grilleT=useRef(0);const iconScale=useRef(0);const lastLoopIdx=useRef(-1);// Pause the loop when scrolled out of view\nconst[inView,setInView]=useState(true);useEffect(()=>{if(typeof window===\"undefined\")return;if(!(\"IntersectionObserver\"in window))return;const el=rootRef.current;if(!el)return;const io=new IntersectionObserver(([entry])=>setInView(entry.isIntersecting));io.observe(el);return()=>io.disconnect();},[]);useEffect(()=>{iconOverlayInnerRef.current=null;iconCrispInnerRef.current=null;},[iconKey]);// Mode switch: snapshot current dot state and blend into the new mode\nuseEffect(()=>{if(s.current.mode===mode)return;const snap={};const snapR={};for(const d of DOTS){const el=dotElsRef.current[d];if(el){snap[d]=[parseFloat(el.getAttribute(\"cx\")||\"0\"),parseFloat(el.getAttribute(\"cy\")||\"0\")];snapR[d]=parseFloat(el.getAttribute(\"r\")||String(dotRadius));}}const now=performance.now()/1e3;let switchT=getLoopPhase(now,s.current.loopStart,s.current.speed,mode);if(mode===\"morph\")switchT=0;const newFn=MODES[mode]||modeStatic;const{pos:toPos,r:toR}=newFn(switchT,s.current.dotRadius,now/s.current.speed);const remap=findBestRemap(snap,toPos);s.current.fromPositions=snap;s.current.fromRadii=snapR;s.current.toPositions=toPos;s.current.toRadii=toR;s.current.dotRemap=remap;s.current.transitionStart=now;s.current.switchT=switchT;s.current.mode=mode;},[mode,dotRadius]);useEffect(()=>{if(isStatic||!inView)return;let rafId;const animate=ts=>{rafId=requestAnimationFrame(animate);const st=s.current;const now=ts/1e3;// ── Dots ──────────────────────────────────────────────────────\nif(st.loopStart===null)st.loopStart=now;const morphSpeed=getMorphSpeed(st.mode,st.speed);const t=getLoopPhase(now,st.loopStart,st.speed,st.mode);const fn=MODES[st.mode]||modeStatic;const{pos:tp,r:tr}=fn(t,st.dotRadius,now/st.speed);let fp=tp,fr=tr;if(st.fromPositions&&st.transitionStart!==null){const tBlend=Math.min((now-st.transitionStart)/st.transitionDuration,1);const ease=easeInOut(tBlend);const bp={};const br={};const useStatic=!REALTIME_MODES.has(st.mode);const toPos=useStatic?st.toPositions||tp:tp;const toR=useStatic?st.toRadii||tr:tr;const remap=useStatic?st.dotRemap||null:null;for(const d of DOTS){const targetSlot=remap?remap[d]:d;const[fx,fy]=st.fromPositions[d];const[tx,ty]=toPos[targetSlot];bp[d]=[fx+(tx-fx)*ease,fy+(ty-fy)*ease];br[d]=(st.fromRadii?.[d]??st.dotRadius)+(toR[targetSlot]-(st.fromRadii?.[d]??st.dotRadius))*ease;}fp=bp;fr=br;if(tBlend>=1){st.loopStart=now-(st.switchT||0)*morphSpeed;st.fromPositions=null;st.fromRadii=null;st.toPositions=null;st.toRadii=null;st.dotRemap=null;st.transitionStart=null;}}const fill=st.color;for(const d of DOTS){const el=dotElsRef.current[d];if(el){el.setAttribute(\"cx\",fp[d][0].toFixed(2));el.setAttribute(\"cy\",fp[d][1].toFixed(2));el.setAttribute(\"r\",fr[d].toFixed(2));el.setAttribute(\"fill\",fill);}}// ── Grille (Record mode) ──────────────────────────────────────\nconst grilleTarget=st.mode===\"record\"?1:0;grilleT.current+=(grilleTarget-grilleT.current)*.06;if(Math.abs(grilleT.current-grilleTarget)<.005)grilleT.current=grilleTarget;const baseGrilleR=st.dotRadius*.42;for(let i=0;i<grilleElsRef.current.length;i++){const el=grilleElsRef.current[i];const dot=GRILLE_DOTS[i];if(!el||!dot)continue;let targetR;if(grilleT.current>.95){const breath=1+.06*Math.sin(now*(1.1/st.speed));targetR=baseGrilleR*breath;}else{const ringDelay=dot.ring*.14;const localT=Math.max(0,Math.min(1,(grilleT.current-ringDelay)/(1-ringDelay)));targetR=baseGrilleR*easeInOut(localT);}el.setAttribute(\"cx\",dot.x.toFixed(2));el.setAttribute(\"cy\",dot.y.toFixed(2));el.setAttribute(\"r\",targetR.toFixed(2));el.setAttribute(\"fill\",fill);}// ── Icon morph, quiver, blur ──────────────────────────────────\nconst overlay=iconOverlayRef.current;if(overlay){if(!iconOverlayInnerRef.current){iconOverlayInnerRef.current=overlay.querySelector(\"g\");}if(iconCrispRef.current&&!iconCrispInnerRef.current){iconCrispInnerRef.current=iconCrispRef.current.querySelector(\"g\");}const isMorph=st.mode===\"morph\";const timeline=isMorph?DEFAULT_MORPH_TIMELINE:null;if(!isMorph||st.fromPositions){iconScale.current=0;}else{const morphT=getLoopPhase(now,st.loopStart,st.speed,st.mode);if(st.cycleIcons&&st.setIconKey&&st.loopStart!==null){const loopIdx=Math.floor((now-st.loopStart)/(st.speed*2));if(loopIdx!==lastLoopIdx.current){lastLoopIdx.current=loopIdx;const keys=Object.keys(LUCIDE_ICONS);const curIdx=keys.indexOf(st.currentIconKey??keys[0]);let next;do{next=Math.floor(Math.random()*keys.length);}while(next===curIdx&&keys.length>1)st.setIconKey(keys[next]);}}const tf=foldPingPong(morphT);const tl=DEFAULT_MORPH_TIMELINE;if(tf<tl.iconStart){iconScale.current=0;}else if(tf<tl.crossEnd){const x=(tf-tl.iconStart)/(tl.crossEnd-tl.iconStart);iconScale.current=easeInOut(x);}else{iconScale.current=1;}}const sc=iconScale.current.toFixed(4);const transformVal=`translate(${CX}px, ${CY}px) scale(${sc})`;overlay.style.transform=transformVal;overlay.style.opacity=\"1\";if(iconCrispRef.current){iconCrispRef.current.style.transform=transformVal;}const blobSW=DEFAULT_MORPH_TIMELINE.blobStroke;const targetSW=st.iconStrokeWidth??5;const dynStroke=(blobSW-iconScale.current*(blobSW-targetSW))/ICON_SCALE;if(iconOverlayInnerRef.current){iconOverlayInnerRef.current.setAttribute(\"stroke-width\",dynStroke.toFixed(3));}if(iconCrispInnerRef.current){iconCrispInnerRef.current.setAttribute(\"stroke-width\",dynStroke.toFixed(3));}let qIntensity=0;if(timeline){const nowTF=foldPingPong(getLoopPhase(now,st.loopStart,st.speed,\"morph\"));if(nowTF>=timeline.quiverStart&&nowTF<timeline.quiverPeak){qIntensity=easeInOut((nowTF-timeline.quiverStart)/(timeline.quiverPeak-timeline.quiverStart));}else if(nowTF>=timeline.quiverPeak&&nowTF<timeline.quiverEnd){qIntensity=easeInOut(1-(nowTF-timeline.quiverPeak)/(timeline.quiverEnd-timeline.quiverPeak));}}const cycles=DEFAULT_MORPH_TIMELINE.quiverCycles;const windowDur=Math.max(.01,DEFAULT_MORPH_TIMELINE.quiverEnd-DEFAULT_MORPH_TIMELINE.quiverStart);const loopSpeed=st.speed||2;const baseFreq=cycles/(windowDur*loopSpeed);const f=baseFreq*Math.PI*2;for(let i=0;i<quiverElsRef.current.length;i++){const lobe=quiverElsRef.current[i];if(!lobe)continue;const seed=i*2.399;const dx=Math.sin(now*f*1+seed*1)*.5+Math.sin(now*f*1.618+seed*2.3)*.3+Math.sin(now*f*2.414+seed*.7)*.2;const dy=Math.sin(now*f*1.303+seed*3.1)*.5+Math.sin(now*f*1.732+seed*1.5)*.3+Math.sin(now*f*2.718+seed*4.2)*.2;const maxR=[13,10,15,9][i];const lobeR=[5,4,5,3][i]*qIntensity;lobe.setAttribute(\"cx\",(CX+dx*maxR*qIntensity).toFixed(2));lobe.setAttribute(\"cy\",(CY+dy*maxR*qIntensity).toFixed(2));lobe.setAttribute(\"r\",lobeR.toFixed(2));}if(blurRef.current){const scVal=iconScale.current;const taper=scVal<.85?0:(scVal-.85)/.15;blurRef.current.setAttribute(\"stdDeviation\",(4*(1-taper)).toFixed(3));}}};rafId=requestAnimationFrame(animate);return()=>cancelAnimationFrame(rafId);},[isStatic,inView]);// Static (canvas/export) preview: render the selected mode's first frame\nconst staticState=useMemo(()=>{const fn=MODES[mode]||modeStatic;return fn(0,dotRadius,0);},[mode,dotRadius]);const basePos=isStatic?staticState.pos:HOME;const baseR=isStatic?staticState.r:uniformRadii(dotRadius);const staticGrilleR=isStatic&&mode===\"record\"?dotRadius*.42:0;const icon=LUCIDE_ICONS[iconKey];const S=ICON_SCALE;function renderIconOverlay(ref){if(!icon)return null;return /*#__PURE__*/_jsx(\"g\",{ref:ref,style:{transform:`translate(${CX}px, ${CY}px) scale(0)`,transformOrigin:\"0px 0px\"},stroke:color,strokeLinecap:\"round\",strokeLinejoin:\"round\",fill:\"none\",children:/*#__PURE__*/_jsx(\"g\",{transform:`translate(${-12*S} ${-12*S}) scale(${S})`,strokeWidth:iconStrokeWidth/S,children:icon.paths.map((d,i)=>/*#__PURE__*/_jsx(\"path\",{d:d},i))})});}return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...style},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:`0 0 ${VB} ${VB}`,fill:\"none\",preserveAspectRatio:\"xMidYMid meet\",style:{display:\"block\"},role:\"img\",\"aria-label\":\"Listen Labs agent animation\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"filter\",{id:gooId,x:\"-30%\",y:\"-30%\",width:\"160%\",height:\"160%\",children:[/*#__PURE__*/_jsx(\"feGaussianBlur\",{ref:blurRef,in:\"SourceGraphic\",stdDeviation:\"4\",result:\"blur\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"blur\",mode:\"matrix\",values:\"1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 22 -9\",result:\"goo\"}),/*#__PURE__*/_jsx(\"feComposite\",{in:\"SourceGraphic\",in2:\"goo\",operator:\"atop\"})]})}),/*#__PURE__*/_jsx(\"g\",{children:GRILLE_DOTS.map((dot,i)=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{grilleElsRef.current[i]=el;},cx:dot.x.toFixed(2),cy:dot.y.toFixed(2),r:staticGrilleR,opacity:\"1\",fill:color},i))}),/*#__PURE__*/_jsxs(\"g\",{filter:`url(#${gooId})`,children:[DOTS.map(d=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{dotElsRef.current[d]=el;},cx:basePos[d][0],cy:basePos[d][1],r:baseR[d],fill:color},d)),/*#__PURE__*/_jsx(\"g\",{children:[0,1,2,3].map(i=>/*#__PURE__*/_jsx(\"circle\",{ref:el=>{quiverElsRef.current[i]=el;},cx:CX,cy:CY,r:\"0\",fill:color},i))}),renderIconOverlay(iconOverlayRef)]}),renderIconOverlay(iconCrispRef)]})});}addPropertyControls(AgentAnimation,{mode:{type:ControlType.Enum,title:\"Mode\",options:MODE_OPTIONS,optionTitles:MODE_TITLES,defaultValue:\"allFaces\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0021CC\"},dotRadius:{type:ControlType.Number,title:\"Dot Radius\",defaultValue:12,min:4,max:20,step:.5},speed:{type:ControlType.Number,title:\"Loop Time\",defaultValue:2,min:.5,max:10,step:.1,unit:\"s\"},transitionDuration:{type:ControlType.Number,title:\"Transition\",defaultValue:.6,min:0,max:2,step:.05,unit:\"s\"},morphIcon:{type:ControlType.Enum,title:\"Icon\",options:ICON_OPTIONS,optionTitles:ICON_TITLES,defaultValue:\"image\",hidden:props=>props.mode!==\"morph\"},iconStrokeWidth:{type:ControlType.Number,title:\"Icon Stroke\",defaultValue:5,min:1,max:10,step:.5,hidden:props=>props.mode!==\"morph\"},cycleIcons:{type:ControlType.Boolean,title:\"Cycle Icons\",defaultValue:false,hidden:props=>props.mode!==\"morph\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AgentAnimation\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"250\",\"framerIntrinsicHeight\":\"250\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AgentAnimation.map"],"mappings":"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"}