{"version":3,"file":"ParticleEngine.BCRAJ5Vi.mjs","names":["useRef","useState","u","p","startTransition","_Fragment"],"sources":["https:/framerusercontent.com/modules/w0tcu00thnguRGJfDvCd/Mnoir21ftTlIViyDJsmZ/ParticleEngine.js"],"sourcesContent":["// 3D Particle Head that follows mouse movement using Three.js and WebGL\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ParticleEngine(props){const{mode=\"sphere\",particleColor=\"#FFFFFF\",particleSize=2,particleCount=5e3,mouseInfluence=.5,rotationSpeed=.001,backgroundColor=\"#000000\",showInPreview=true,physicsEnabled=false,gravity=0,mouseRepulsion=0,mouseAttraction=0,damping=.95,turbulence=0,cameraX=0,cameraY=0,cameraZ=300,cameraZoom=1,fieldOfView=300,showModeLinks=true,showControls=true,autoPlay=false,modeDuration=5,transitionDuration=2}=props;const canvasRef=useRef(null);const mouseRef=useRef({x:0,y:0});const animationFrameRef=useRef(null);const particlesRef=useRef([]);const rotationRef=useRef({x:0,y:0});const isStatic=useIsStaticRenderer();const[currentMode,setCurrentMode]=useState(mode);const[localParticleSize,setLocalParticleSize]=useState(particleSize);const[localParticleCount,setLocalParticleCount]=useState(particleCount);const[localMouseInfluence,setLocalMouseInfluence]=useState(mouseInfluence);const[localRotationSpeed,setLocalRotationSpeed]=useState(rotationSpeed);const[localPhysicsEnabled,setLocalPhysicsEnabled]=useState(physicsEnabled);const[localGravity,setLocalGravity]=useState(gravity);const[localMouseRepulsion,setLocalMouseRepulsion]=useState(mouseRepulsion);const[localMouseAttraction,setLocalMouseAttraction]=useState(mouseAttraction);const[localDamping,setLocalDamping]=useState(damping);const[localTurbulence,setLocalTurbulence]=useState(turbulence);const[localCameraX,setLocalCameraX]=useState(cameraX);const[localCameraY,setLocalCameraY]=useState(cameraY);const[localCameraZ,setLocalCameraZ]=useState(cameraZ);const[localCameraZoom,setLocalCameraZoom]=useState(cameraZoom);const[localFieldOfView,setLocalFieldOfView]=useState(fieldOfView);const[expandedSection,setExpandedSection]=useState(null);const transitionProgressRef=useRef(0);const modeTimerRef=useRef(0);const currentModeIndexRef=useRef(0);const modes=[{id:\"sphere\",label:\"Sphere\"},{id:\"cube\",label:\"Cube\"},{id:\"torus\",label:\"Torus\"},{id:\"helix\",label:\"Helix\"},{id:\"wave\",label:\"Wave\"},{id:\"pyramid\",label:\"Pyramid\"},{id:\"cylinder\",label:\"Cylinder\"},{id:\"cone\",label:\"Cone\"},{id:\"ring\",label:\"Ring\"},{id:\"spiral\",label:\"Spiral\"},{id:\"galaxy\",label:\"Galaxy\"},{id:\"dna\",label:\"DNA\"},{id:\"heart\",label:\"Heart\"},{id:\"star\",label:\"Star\"},{id:\"flower\",label:\"Flower\"},{id:\"grid\",label:\"Grid\"},{id:\"random\",label:\"Random\"},{id:\"explosion\",label:\"Explosion\"},{id:\"vortex\",label:\"Vortex\"},{id:\"mobius\",label:\"Mobius\"},{id:\"sigmaArc\",label:\"SigmaArc\"}];// Update current mode when prop changes\nuseEffect(()=>{setCurrentMode(mode);},[mode]);// Auto-play mode cycling\nuseEffect(()=>{if(!autoPlay||isStatic)return;const interval=setInterval(()=>{currentModeIndexRef.current=(currentModeIndexRef.current+1)%modes.length;startTransition(()=>{setCurrentMode(modes[currentModeIndexRef.current].id);});},modeDuration*1e3);return()=>clearInterval(interval);},[autoPlay,modeDuration,isStatic]);// Update local states when props change\nuseEffect(()=>{setLocalParticleSize(particleSize);},[particleSize]);useEffect(()=>{setLocalParticleCount(particleCount);},[particleCount]);useEffect(()=>{setLocalMouseInfluence(mouseInfluence);},[mouseInfluence]);useEffect(()=>{setLocalRotationSpeed(rotationSpeed);},[rotationSpeed]);useEffect(()=>{setLocalPhysicsEnabled(physicsEnabled);},[physicsEnabled]);useEffect(()=>{setLocalGravity(gravity);},[gravity]);useEffect(()=>{setLocalMouseRepulsion(mouseRepulsion);},[mouseRepulsion]);useEffect(()=>{setLocalMouseAttraction(mouseAttraction);},[mouseAttraction]);useEffect(()=>{setLocalDamping(damping);},[damping]);useEffect(()=>{setLocalTurbulence(turbulence);},[turbulence]);useEffect(()=>{setLocalCameraX(cameraX);},[cameraX]);useEffect(()=>{setLocalCameraY(cameraY);},[cameraY]);useEffect(()=>{setLocalCameraZ(cameraZ);},[cameraZ]);useEffect(()=>{setLocalCameraZoom(cameraZoom);},[cameraZoom]);useEffect(()=>{setLocalFieldOfView(fieldOfView);},[fieldOfView]);useEffect(()=>{if(!canvasRef.current)return;if(isStatic&&!showInPreview)return;const canvas=canvasRef.current;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const width=canvas.width=canvas.clientWidth*2;const height=canvas.height=canvas.clientHeight*2;ctx.scale(2,2);// Function to generate particle positions for a given mode\nconst generatePositions=(modeId,count)=>{const positions=[];for(let i=0;i<count;i++){let x=0,y=0,z=0;switch(modeId){case\"sphere\":{const theta=Math.random()*Math.PI*2;const phi=Math.acos(2*Math.random()-1);const radius=80+Math.random()*40;x=radius*Math.sin(phi)*Math.cos(theta);y=radius*Math.sin(phi)*Math.sin(theta);z=radius*Math.cos(phi);break;}case\"cube\":{const size=120;x=(Math.random()-.5)*size;y=(Math.random()-.5)*size;z=(Math.random()-.5)*size;break;}case\"torus\":{const angle1=Math.random()*Math.PI*2;const angle2=Math.random()*Math.PI*2;const R=80;const r=40;x=(R+r*Math.cos(angle2))*Math.cos(angle1);y=(R+r*Math.cos(angle2))*Math.sin(angle1);z=r*Math.sin(angle2);break;}case\"helix\":{const t=i/count*Math.PI*8;const radius=60;x=radius*Math.cos(t);y=(i/count-.5)*200;z=radius*Math.sin(t);break;}case\"wave\":{const gridSize=Math.sqrt(count);const row=Math.floor(i/gridSize);const col=i%gridSize;x=(col/gridSize-.5)*200;z=(row/gridSize-.5)*200;y=Math.sin(x*.05)*Math.cos(z*.05)*30;break;}case\"pyramid\":{const level=Math.floor(Math.sqrt(i));const maxLevel=Math.sqrt(count);const size=(1-level/maxLevel)*100;x=(Math.random()-.5)*size;z=(Math.random()-.5)*size;y=-level*5+50;break;}case\"cylinder\":{const angle=Math.random()*Math.PI*2;const radius=60;x=radius*Math.cos(angle);y=(Math.random()-.5)*150;z=radius*Math.sin(angle);break;}case\"cone\":{const angle=Math.random()*Math.PI*2;const height=Math.random();const radius=80*(1-height);x=radius*Math.cos(angle);y=height*150-75;z=radius*Math.sin(angle);break;}case\"ring\":{const angle=Math.random()*Math.PI*2;const radius=80+(Math.random()-.5)*20;x=radius*Math.cos(angle);y=(Math.random()-.5)*20;z=radius*Math.sin(angle);break;}case\"spiral\":{const t=i/count*Math.PI*10;const radius=t*5;x=radius*Math.cos(t);y=(i/count-.5)*150;z=radius*Math.sin(t);break;}case\"galaxy\":{const angle=Math.random()*Math.PI*2;const radius=Math.pow(Math.random(),.5)*100;const spiral=radius*.3;x=radius*Math.cos(angle+spiral);y=(Math.random()-.5)*20;z=radius*Math.sin(angle+spiral);break;}case\"dna\":{const t=i/count*Math.PI*8;const radius=40;const strand=i%2;x=radius*Math.cos(t+strand*Math.PI);y=(i/count-.5)*200;z=radius*Math.sin(t+strand*Math.PI);break;}case\"heart\":{const t=i/count*Math.PI*2;// Responsive scaling for heart shape\n// Use a scale that is proportional to the component size\n// Use the smaller of width/2 or height/2 as base\nconst scale=Math.min(canvas.width,canvas.height)*.005// changed from 0.01 to 0.005 for better fit\n;x=scale*16*Math.pow(Math.sin(t),3);y=-scale*(13*Math.cos(t)-5*Math.cos(2*t)-2*Math.cos(3*t)-Math.cos(4*t));z=(Math.random()-.5)*scale*.6;break;}case\"star\":{const angle=i/count*Math.PI*2;const points=5;const outerRadius=100;const innerRadius=40;const pointAngle=Math.floor(i/(count/(points*2)))%2===0;const radius=pointAngle?outerRadius:innerRadius;x=radius*Math.cos(angle);y=radius*Math.sin(angle);z=(Math.random()-.5)*20;break;}case\"flower\":{const angle=i/count*Math.PI*2;const petals=6;const radius=50+40*Math.sin(petals*angle);x=radius*Math.cos(angle);y=radius*Math.sin(angle);z=(Math.random()-.5)*30;break;}case\"grid\":{const gridSize=Math.cbrt(count);const idx=i;const ix=idx%gridSize;const iy=Math.floor(idx/gridSize)%gridSize;const iz=Math.floor(idx/(gridSize*gridSize));x=(ix/gridSize-.5)*150;y=(iy/gridSize-.5)*150;z=(iz/gridSize-.5)*150;break;}case\"random\":{x=(Math.random()-.5)*200;y=(Math.random()-.5)*200;z=(Math.random()-.5)*200;break;}case\"explosion\":{const theta=Math.random()*Math.PI*2;const phi=Math.acos(2*Math.random()-1);const radius=Math.pow(Math.random(),.3)*120;x=radius*Math.sin(phi)*Math.cos(theta);y=radius*Math.sin(phi)*Math.sin(theta);z=radius*Math.cos(phi);break;}case\"vortex\":{const t=i/count*Math.PI*6;const radius=i/count*100;x=radius*Math.cos(t);y=(i/count-.5)*150;z=radius*Math.sin(t);break;}case\"mobius\":{const u=i/count*Math.PI*2;const v=(Math.random()-.5)*.4;const radius=60;x=(radius+v*Math.cos(u/2))*Math.cos(u);y=(radius+v*Math.cos(u/2))*Math.sin(u);z=v*Math.sin(u/2);break;}case\"sigmaArc\":{const R=80;const ratio=i/count;// Create a proper Sigma (Σ) shape\n// Top horizontal line (0 to 0.25)\nif(ratio<.25){const f=ratio/.25;x=-R*.8+f*R*1.6;y=R*.9;z=(Math.random()-.5)*15;}else if(ratio<.45){const f=(ratio-.25)/.2;x=R*.8-f*R*1.6;y=R*.9-f*R*.9;z=(Math.random()-.5)*15;}else if(ratio<.65){const f=(ratio-.45)/.2;x=-R*.8+f*R*1.6;y=-f*R*.9;z=(Math.random()-.5)*15;}else{const f=(ratio-.65)/.35;x=R*.8-f*R*1.6;y=-R*.9;z=(Math.random()-.5)*15;}break;}default:{const theta=Math.random()*Math.PI*2;const phi=Math.acos(2*Math.random()-1);const radius=80+Math.random()*40;x=radius*Math.sin(phi)*Math.cos(theta);y=radius*Math.sin(phi)*Math.sin(theta);z=radius*Math.cos(phi);}}positions.push({x,y,z});}return positions;};// Initialize particles\nif(particlesRef.current.length===0||particlesRef.current.length!==localParticleCount){particlesRef.current=[];const positions=generatePositions(currentMode,localParticleCount);positions.forEach(pos=>{particlesRef.current.push({x:pos.x,y:pos.y,z:pos.z,baseX:pos.x,baseY:pos.y,baseZ:pos.z,targetX:pos.x,targetY:pos.y,targetZ:pos.z,vx:0,vy:0,vz:0});});transitionProgressRef.current=1;}else{// Mode changed - set new targets and start transition\nconst newPositions=generatePositions(currentMode,localParticleCount);particlesRef.current.forEach((p,i)=>{if(i<newPositions.length){p.targetX=newPositions[i].x;p.targetY=newPositions[i].y;p.targetZ=newPositions[i].z;}});transitionProgressRef.current=0;modeTimerRef.current=0;}// Mouse move handler\nconst handleMouseMove=event=>{const rect=canvas.getBoundingClientRect();mouseRef.current.x=((event.clientX-rect.left)/rect.width-.5)*2;mouseRef.current.y=((event.clientY-rect.top)/rect.height-.5)*2;};// Animation loop\nconst animate=()=>{if(!ctx||!canvas)return;ctx.fillStyle=backgroundColor;ctx.fillRect(0,0,canvas.width/2,canvas.height/2);// Update transition progress\nif(transitionProgressRef.current<1){transitionProgressRef.current+=1/(transitionDuration*60);if(transitionProgressRef.current>1){transitionProgressRef.current=1;}}// Easing function for smooth transitions\nconst easeInOutCubic=t=>{return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;};const progress=easeInOutCubic(transitionProgressRef.current);// Update rotation based on mouse\nconst targetRotX=mouseRef.current.y*localMouseInfluence;const targetRotY=mouseRef.current.x*localMouseInfluence;rotationRef.current.x+=(targetRotX-rotationRef.current.x)*.05;rotationRef.current.y+=(targetRotY-rotationRef.current.y)*.05;// Auto rotation\nrotationRef.current.y+=localRotationSpeed;// Update particles\nparticlesRef.current.forEach(p=>{// Morph towards target position\nif(transitionProgressRef.current<1){p.baseX=p.baseX+(p.targetX-p.baseX)*progress*.1;p.baseY=p.baseY+(p.targetY-p.baseY)*progress*.1;p.baseZ=p.baseZ+(p.targetZ-p.baseZ)*progress*.1;}else{p.baseX=p.targetX;p.baseY=p.targetY;p.baseZ=p.targetZ;}// Apply physics if enabled\nif(localPhysicsEnabled){// Apply gravity\np.vy+=localGravity*.1;// Calculate distance to mouse (in 3D space approximation)\nconst mouseX3D=mouseRef.current.x*100;const mouseY3D=mouseRef.current.y*100;const mouseZ3D=0;const dx=p.x-mouseX3D;const dy=p.y-mouseY3D;const dz=p.z-mouseZ3D;const distSq=dx*dx+dy*dy+dz*dz;const dist=Math.sqrt(distSq);// Mouse repulsion\nif(localMouseRepulsion>0&&dist>0&&dist<200){const force=localMouseRepulsion*100/(distSq+1);p.vx+=dx/dist*force;p.vy+=dy/dist*force;p.vz+=dz/dist*force;}// Mouse attraction\nif(localMouseAttraction>0&&dist>0){const force=localMouseAttraction*.5/(dist+1);p.vx-=dx/dist*force;p.vy-=dy/dist*force;p.vz-=dz/dist*force;}// Turbulence (random forces)\nif(localTurbulence>0){p.vx+=(Math.random()-.5)*localTurbulence*.5;p.vy+=(Math.random()-.5)*localTurbulence*.5;p.vz+=(Math.random()-.5)*localTurbulence*.5;}// Spring force back to base position\nconst springStrength=.01;p.vx+=(p.baseX-p.x)*springStrength;p.vy+=(p.baseY-p.y)*springStrength;p.vz+=(p.baseZ-p.z)*springStrength;// Apply damping\np.vx*=localDamping;p.vy*=localDamping;p.vz*=localDamping;// Update position\np.x+=p.vx;p.y+=p.vy;p.z+=p.vz;}else{p.x=p.baseX;p.y=p.baseY;p.z=p.baseZ;}});// Draw particles\nconst particles=particlesRef.current.map(p=>{// Rotate particle\nlet x=p.x;let y=p.y;let z=p.z;// Rotate around Y axis\nconst cosY=Math.cos(rotationRef.current.y);const sinY=Math.sin(rotationRef.current.y);const tempX=x*cosY-z*sinY;const tempZ=x*sinY+z*cosY;x=tempX;z=tempZ;// Rotate around X axis\nconst cosX=Math.cos(rotationRef.current.x);const sinX=Math.sin(rotationRef.current.x);const tempY=y*cosX-z*sinX;z=y*sinX+z*cosX;y=tempY;// Apply camera position offset\nx-=localCameraX;y-=localCameraY;z-=localCameraZ;return{x,y,z};});// Sort by z-depth\nparticles.sort((a,b)=>b.z-a.z);// Draw particles\nparticles.forEach(p=>{const scale=localFieldOfView/(localFieldOfView+p.z)*localCameraZoom;const x2d=p.x*scale+canvas.width/4;const y2d=p.y*scale+canvas.height/4;const size=Math.max(.1,localParticleSize*scale);ctx.fillStyle=particleColor;ctx.beginPath();ctx.arc(x2d,y2d,size,0,Math.PI*2);ctx.fill();});animationFrameRef.current=requestAnimationFrame(animate);};if(!isStatic){canvas.addEventListener(\"mousemove\",handleMouseMove);animate();}else{// Render static frame for canvas\nanimate();if(animationFrameRef.current!==null){cancelAnimationFrame(animationFrameRef.current);}}// Cleanup\nreturn()=>{if(!isStatic){canvas.removeEventListener(\"mousemove\",handleMouseMove);}if(animationFrameRef.current!==null){cancelAnimationFrame(animationFrameRef.current);}};},[currentMode,particleColor,localParticleSize,localParticleCount,localMouseInfluence,localRotationSpeed,backgroundColor,isStatic,showInPreview,localPhysicsEnabled,localGravity,localMouseRepulsion,localMouseAttraction,localDamping,localTurbulence,localCameraX,localCameraY,localCameraZ,localCameraZoom,localFieldOfView,transitionDuration]);const handleModeClick=modeId=>{startTransition(()=>{setCurrentMode(modeId);});};const toggleSection=section=>{startTransition(()=>{setExpandedSection(expandedSection===section?null:section);});};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\",backgroundColor:backgroundColor}}),showModeLinks&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:20,left:20,display:\"flex\",flexDirection:\"column\",gap:\"4px\",pointerEvents:\"auto\",zIndex:10},children:modes.map(m=>/*#__PURE__*/_jsx(\"a\",{onClick:()=>handleModeClick(m.id),style:{color:currentMode===m.id?\"#FFFFFF\":\"rgba(255, 255, 255, 0.5)\",textDecoration:\"none\",cursor:\"pointer\",fontSize:\"11px\",fontWeight:currentMode===m.id?\"600\":\"400\",transition:\"all 0.2s ease\",userSelect:\"none\"},onMouseEnter:e=>{e.currentTarget.style.color=\"#FFFFFF\";},onMouseLeave:e=>{if(currentMode!==m.id){e.currentTarget.style.color=\"rgba(255, 255, 255, 0.5)\";}},children:m.label},m.id))}),showControls&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:showModeLinks?`${20+modes.length*19+20+16-64-16}px`:`${36-64-16}px`,left:8,width:\"200px\",maxHeight:showModeLinks?`calc(100% - ${20+modes.length*19+40}px)`:\"calc(100% - 40px)\",overflowY:\"auto\",borderRadius:\"4px\",padding:\"12px\",pointerEvents:\"auto\",zIndex:10,fontSize:\"11px\",color:\"#FFFFFF\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                            input[type=\"range\"] {\n                                -webkit-appearance: none;\n                                appearance: none;\n                                background: transparent;\n                                cursor: pointer;\n                                height: 2px;\n                            }\n                            \n                            input[type=\"range\"]::-webkit-slider-track {\n                                background: rgba(255, 255, 255, 0.3);\n                                height: 2px;\n                                border-radius: 1px;\n                            }\n                            \n                            input[type=\"range\"]::-moz-range-track {\n                                background: rgba(255, 255, 255, 0.3);\n                                height: 2px;\n                                border-radius: 1px;\n                            }\n                            \n                            input[type=\"range\"]::-webkit-slider-thumb {\n                                -webkit-appearance: none;\n                                appearance: none;\n                                width: 6px;\n                                height: 6px;\n                                border-radius: 50%;\n                                background: rgba(255, 255, 255, 1);\n                                border: none;\n                                box-shadow: none;\n                                margin-top: -2px;\n                            }\n                            \n                            input[type=\"range\"]::-moz-range-thumb {\n                                width: 6px;\n                                height: 6px;\n                                border-radius: 50%;\n                                background: rgba(255, 255, 255, 1);\n                                border: none;\n                                box-shadow: none;\n                            }\n                            \n                            input[type=\"range\"]::-webkit-slider-runnable-track {\n                                background: rgba(255, 255, 255, 0.3);\n                                height: 2px;\n                            }\n                            \n                            input[type=\"range\"]::-moz-range-progress {\n                                background: rgba(255, 255, 255, 1);\n                                height: 2px;\n                                border-radius: 1px;\n                            }\n                        `}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"12px\"},children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>toggleSection(\"particle\"),style:{cursor:\"pointer\",fontSize:\"11px\",fontWeight:\"600\",marginBottom:\"8px\",userSelect:\"none\",color:\"#FFFFFF\"},children:\"Particles\"}),expandedSection===\"particle\"&&/*#__PURE__*/_jsxs(\"div\",{style:{paddingLeft:\"12px\"},children:[/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Size: \",localParticleSize.toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0.5\",max:\"5\",step:\"0.1\",value:localParticleSize,onChange:e=>startTransition(()=>setLocalParticleSize(parseFloat(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Count: \",localParticleCount]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"1000\",max:\"10000\",step:\"100\",value:localParticleCount,onChange:e=>startTransition(()=>setLocalParticleCount(parseInt(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Mouse Influence: \",localMouseInfluence.toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0\",max:\"2\",step:\"0.1\",value:localMouseInfluence,onChange:e=>startTransition(()=>setLocalMouseInfluence(parseFloat(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Rotation: \",(localRotationSpeed*1e3).toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0\",max:\"0.05\",step:\"0.01\",value:localRotationSpeed,onChange:e=>startTransition(()=>setLocalRotationSpeed(parseFloat(e.target.value))),style:{width:\"100%\"}})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"12px\"},children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>toggleSection(\"camera\"),style:{cursor:\"pointer\",fontSize:\"11px\",fontWeight:\"600\",marginBottom:\"8px\",userSelect:\"none\",color:\"#FFFFFF\"},children:\"Camera\"}),expandedSection===\"camera\"&&/*#__PURE__*/_jsxs(\"div\",{style:{paddingLeft:\"12px\"},children:[/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"X: \",localCameraX]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"-200\",max:\"200\",step:\"1\",value:localCameraX,onChange:e=>startTransition(()=>setLocalCameraX(parseInt(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Y: \",localCameraY]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"-200\",max:\"200\",step:\"1\",value:localCameraY,onChange:e=>startTransition(()=>setLocalCameraY(parseInt(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Z: \",localCameraZ]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"100\",max:\"600\",step:\"10\",value:localCameraZ,onChange:e=>startTransition(()=>setLocalCameraZ(parseInt(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Zoom: \",localCameraZoom.toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0.5\",max:\"3\",step:\"0.1\",value:localCameraZoom,onChange:e=>startTransition(()=>setLocalCameraZoom(parseFloat(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"FOV: \",localFieldOfView]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"100\",max:\"600\",step:\"10\",value:localFieldOfView,onChange:e=>startTransition(()=>setLocalFieldOfView(parseInt(e.target.value))),style:{width:\"100%\"}})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"12px\"},children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>toggleSection(\"physics\"),style:{cursor:\"pointer\",fontSize:\"11px\",fontWeight:\"600\",marginBottom:\"8px\",userSelect:\"none\",color:\"#FFFFFF\"},children:\"Physics\"}),expandedSection===\"physics\"&&/*#__PURE__*/_jsxs(\"div\",{style:{paddingLeft:\"12px\"},children:[/*#__PURE__*/_jsxs(\"label\",{style:{display:\"flex\",alignItems:\"center\",marginBottom:\"8px\",cursor:\"pointer\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:localPhysicsEnabled,onChange:e=>startTransition(()=>setLocalPhysicsEnabled(e.target.checked)),style:{marginRight:\"6px\"}}),\"Enable Physics\"]}),localPhysicsEnabled&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Gravity: \",localGravity.toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"-2\",max:\"2\",step:\"0.1\",value:localGravity,onChange:e=>startTransition(()=>setLocalGravity(parseFloat(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Repulsion: \",localMouseRepulsion.toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0\",max:\"5\",step:\"0.1\",value:localMouseRepulsion,onChange:e=>startTransition(()=>setLocalMouseRepulsion(parseFloat(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Attraction: \",localMouseAttraction.toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0\",max:\"5\",step:\"0.1\",value:localMouseAttraction,onChange:e=>startTransition(()=>setLocalMouseAttraction(parseFloat(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Damping: \",localDamping.toFixed(2)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0.8\",max:\"0.99\",step:\"0.01\",value:localDamping,onChange:e=>startTransition(()=>setLocalDamping(parseFloat(e.target.value))),style:{width:\"100%\",marginBottom:\"8px\"}}),/*#__PURE__*/_jsxs(\"label\",{style:{display:\"block\",marginBottom:\"4px\",fontSize:\"11px\",fontWeight:\"400\",color:\"rgba(255, 255, 255, 0.7)\"},children:[\"Turbulence: \",localTurbulence.toFixed(1)]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:\"0\",max:\"2\",step:\"0.1\",value:localTurbulence,onChange:e=>startTransition(()=>setLocalTurbulence(parseFloat(e.target.value))),style:{width:\"100%\"}})]})]})]})]})]});}addPropertyControls(ParticleEngine,{autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},modeDuration:{type:ControlType.Number,title:\"Mode Duration\",defaultValue:5,min:1,max:30,step:1,unit:\"s\",hidden:({autoPlay})=>!autoPlay},transitionDuration:{type:ControlType.Number,title:\"Transition Duration\",defaultValue:2,min:.5,max:10,step:.5,unit:\"s\"},showModeLinks:{type:ControlType.Boolean,title:\"Show Mode Links\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showControls:{type:ControlType.Boolean,title:\"Show Controls\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},mode:{type:ControlType.Enum,title:\"Shape Mode\",options:[\"sphere\",\"cube\",\"torus\",\"helix\",\"wave\",\"pyramid\",\"cylinder\",\"cone\",\"ring\",\"spiral\",\"galaxy\",\"dna\",\"heart\",\"star\",\"flower\",\"grid\",\"random\",\"explosion\",\"vortex\",\"mobius\",\"sigmaArc\"],optionTitles:[\"Sphere\",\"Cube\",\"Torus\",\"Helix\",\"Wave\",\"Pyramid\",\"Cylinder\",\"Cone\",\"Ring\",\"Spiral\",\"Galaxy\",\"DNA\",\"Heart\",\"Star\",\"Flower\",\"Grid\",\"Random\",\"Explosion\",\"Vortex\",\"Mobius\",\"SigmaArc\"],defaultValue:\"sphere\"},particleColor:{type:ControlType.Color,title:\"Particle Color\",defaultValue:\"#FFFFFF\"},particleSize:{type:ControlType.Number,title:\"Particle Size\",defaultValue:2,min:.5,max:5,step:.1},particleCount:{type:ControlType.Number,title:\"Particle Count\",defaultValue:5e3,min:1e3,max:1e4,step:100},mouseInfluence:{type:ControlType.Number,title:\"Mouse Influence\",defaultValue:.5,min:0,max:2,step:.1},rotationSpeed:{type:ControlType.Number,title:\"Rotation Speed\",defaultValue:.001,min:0,max:.05,step:.01},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},showInPreview:{type:ControlType.Boolean,title:\"Show in Preview\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},cameraX:{type:ControlType.Number,title:\"Camera X\",defaultValue:0,min:-200,max:200,step:1},cameraY:{type:ControlType.Number,title:\"Camera Y\",defaultValue:0,min:-200,max:200,step:1},cameraZ:{type:ControlType.Number,title:\"Camera Z\",defaultValue:300,min:100,max:600,step:10},cameraZoom:{type:ControlType.Number,title:\"Camera Zoom\",defaultValue:1,min:.5,max:3,step:.1},fieldOfView:{type:ControlType.Number,title:\"Field of View\",defaultValue:300,min:100,max:600,step:10},physicsEnabled:{type:ControlType.Boolean,title:\"Physics\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},gravity:{type:ControlType.Number,title:\"Gravity\",defaultValue:0,min:-2,max:2,step:.1,hidden:({physicsEnabled})=>!physicsEnabled},mouseRepulsion:{type:ControlType.Number,title:\"Mouse Repulsion\",defaultValue:0,min:0,max:5,step:.1,hidden:({physicsEnabled})=>!physicsEnabled},mouseAttraction:{type:ControlType.Number,title:\"Mouse Attraction\",defaultValue:0,min:0,max:5,step:.1,hidden:({physicsEnabled})=>!physicsEnabled},damping:{type:ControlType.Number,title:\"Damping\",defaultValue:.95,min:.8,max:.99,step:.01,hidden:({physicsEnabled})=>!physicsEnabled},turbulence:{type:ControlType.Number,title:\"Turbulence\",defaultValue:0,min:0,max:2,step:.1,hidden:({physicsEnabled})=>!physicsEnabled}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ParticleEngine\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ParticleEngine.map"],"mappings":"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"}