{"version":3,"file":"Data_Particles3.CE5qQu09.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/6lrHoWzqkL9iitvxVTci/sso03RLnScc706FdvkoI/Data_Particles3.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";function randomBetween(a,b){return a+Math.random()*(b-a);}function parseColor(input){if(!input)return{r:56,g:189,b:248};const s=input.trim();if(s.startsWith(\"#\")){let hex=s.slice(1);if(hex.length===3){hex=hex.split(\"\").map(c=>c+c).join(\"\");}if(hex.length>=6){return{r:parseInt(hex.slice(0,2),16),g:parseInt(hex.slice(2,4),16),b:parseInt(hex.slice(4,6),16)};}}const m=s.match(/rgba?\\(([^)]+)\\)/);if(m){const parts=m[1].split(\",\").map(p=>parseFloat(p.trim()));return{r:Math.round(parts[0]||0),g:Math.round(parts[1]||0),b:Math.round(parts[2]||0)};}return{r:56,g:189,b:248};}function colorFromHue(hue,c1,c2,c3){if(hue<.5){const t=hue*2;return[Math.round(c1.r+(c2.r-c1.r)*t),Math.round(c1.g+(c2.g-c1.g)*t),Math.round(c1.b+(c2.b-c1.b)*t)];}else{const t=(hue-.5)*2;return[Math.round(c2.r+(c3.r-c2.r)*t),Math.round(c2.g+(c3.g-c2.g)*t),Math.round(c2.b+(c3.b-c2.b)*t)];}}// Fibonacci sphere distribution — gives even spacing on a sphere\nfunction fibonacciSphere(count){const points=[];const phi=Math.PI*(3-Math.sqrt(5));for(let i=0;i<count;i++){const y=1-i/(count-1)*2;const radius=Math.sqrt(1-y*y);const theta=phi*i;const x=Math.cos(theta)*radius;const z=Math.sin(theta)*radius;points.push({x,y,z});}return points;}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 600\n */export default function NeuralMass(props){const{colorStart,colorMid,colorEnd,coreColor,nodeCount,edgesPerNode,rotationSpeed,signalSpeedMultiplier,maxSignals,massScale,depthIntensity,showCoreGlow,background,labels,labelChance,labelColor,labelTextColor,labelBorderColor,labelOpacity,labelHoldFrames}=props;const canvasRef=useRef(null);const nodesRef=useRef([]);const edgesRef=useRef([]);const signalsRef=useRef([]);const labelsRef=useRef([]);const rafRef=useRef(0);const frameRef=useRef(0);const rotYRef=useRef(0);const rotXRef=useRef(0);const rootRef=useRef(null);const[isNearViewport,setIsNearViewport]=useState(false);const[isInViewport,setIsInViewport]=useState(false);const isStaticRenderer=useIsStaticRenderer();const isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{if(isCanvas){setIsNearViewport(true);setIsInViewport(true);return;}if(isStaticRenderer||typeof window===\"undefined\")return;const node=rootRef.current;if(!node)return;if(typeof IntersectionObserver===\"undefined\"){setIsNearViewport(true);setIsInViewport(true);return;}const io=new IntersectionObserver(([entry])=>{if(entry?.isIntersecting){setIsNearViewport(true);setIsInViewport(true);}else{setIsInViewport(false);}},{rootMargin:\"200px 0px 200px 0px\",threshold:.01});io.observe(node);return()=>io.disconnect();},[isCanvas,isStaticRenderer]);useEffect(()=>{if(!isNearViewport&&!isCanvas)return;if(typeof window===\"undefined\")return;const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const reduce=typeof matchMedia!==\"undefined\"&&matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const c1=parseColor(colorStart);const c2=parseColor(colorMid);const c3=parseColor(colorEnd);const core=parseColor(coreColor);const coreStr=`rgba(${core.r},${core.g},${core.b},1)`;const lblColor=parseColor(labelColor);const lblTextColor=parseColor(labelTextColor);const lblBorderColor=parseColor(labelBorderColor);const labelList=labels.split(\",\").map(s=>s.trim()).filter(s=>s.length>0);const labelOp=Math.max(0,Math.min(1,labelOpacity));const labelChanceClamped=Math.max(0,Math.min(1,labelChance));const labelHold=Math.max(10,Math.floor(labelHoldFrames));const COUNT=Math.max(20,Math.floor(nodeCount));const EDGES_PER_NODE=Math.max(1,Math.floor(edgesPerNode));const ROT_SPEED=rotationSpeed;const SPEED_MULT=Math.max(.05,signalSpeedMultiplier);const MAX_SIGNALS=Math.max(0,Math.floor(maxSignals));const MASS_SCALE=Math.max(.1,Math.min(1,massScale));const DEPTH_INTENSITY=Math.max(0,Math.min(1,depthIntensity));// Reused sort scratch — avoids allocating a fresh array of objects\n// every frame (which was a big source of GC churn).\nlet edgeOrder=[];let edgeDepth=new Float64Array(0);let nodeOrder=[];function rgba(hue,op){const[r,g,b]=colorFromHue(hue,c1,c2,c3);return`rgba(${r},${g},${b},${op.toFixed(3)})`;}function resize(){if(!canvas)return;// Cap DPR at 2 — on 3x phones / Retina this roughly halves the\n// number of pixels every fill has to touch, for ~no visual loss.\nconst dpr=Math.min(window.devicePixelRatio||1,2);canvas.width=canvas.offsetWidth*dpr;canvas.height=canvas.offsetHeight*dpr;ctx.setTransform(1,0,0,1,0,0);ctx.scale(dpr,dpr);// build nodes from a Fibonacci sphere with radial jitter\nconst base=fibonacciSphere(COUNT);const nodes=base.map(p=>{// radial jitter so the mass has volume, not just a hollow shell\nconst r=randomBetween(.78,1);return{bx:p.x*r,by:p.y*r,bz:p.z*r,sx:0,sy:0,sz:0,scale:1,radius:randomBetween(1.5,3.2),hue:Math.random(),activation:0,targetActivation:0,pulseRadius:0,pulseOp:0,pulsing:false,nextPulse:60+Math.floor(Math.random()*400),driftPhase:Math.random()*Math.PI*2,driftSpeed:randomBetween(.002,.006)};});nodesRef.current=nodes;nodeOrder=nodes.map((_,i)=>i);// build edges: each node connects to its EDGES_PER_NODE nearest neighbors\n// (in 3D base position). Use a Set to dedupe.\nconst edgeSet=new Set;const edges=[];for(let i=0;i<nodes.length;i++){const dists=[];for(let j=0;j<nodes.length;j++){if(i===j)continue;const dx=nodes[i].bx-nodes[j].bx;const dy=nodes[i].by-nodes[j].by;const dz=nodes[i].bz-nodes[j].bz;dists.push({j,d:Math.sqrt(dx*dx+dy*dy+dz*dz)});}dists.sort((a,b)=>a.d-b.d);for(let k=0;k<EDGES_PER_NODE&&k<dists.length;k++){const j=dists[k].j;const key=i<j?`${i}-${j}`:`${j}-${i}`;if(edgeSet.has(key))continue;edgeSet.add(key);// baseline opacity inversely proportional to length\nconst op=Math.max(.05,.35-dists[k].d*.15);edges.push({a:i<j?i:j,b:i<j?j:i,baseOp:op});}}edgesRef.current=edges;edgeOrder=edges.map((_,i)=>i);edgeDepth=new Float64Array(edges.length);signalsRef.current=[];labelsRef.current=[];}function spawnSignal(){const edges=edgesRef.current;if(edges.length===0)return;const e=Math.floor(Math.random()*edges.length);signalsRef.current.push({edgeIndex:e,direction:Math.random()<.5?1:-1,t:0,speed:randomBetween(.01,.025)*SPEED_MULT,intensity:randomBetween(.7,1),hue:randomBetween(0,1),trail:[]});}function draw(){if(!canvas||!ctx)return;const W=canvas.offsetWidth;const H=canvas.offsetHeight;const cx=W/2;const cy=H/2;// separate X/Y radii so the mass fills the element shape.\n// multiplier sized so the sphere — AFTER perspective — fills the\n// canvas. Perspective shrinks the projected mass by ~focal/(focal+camDist),\n// so we pre-scale the radii to compensate.\nconst RX=W*.5*MASS_SCALE;const RY=H*.5*MASS_SCALE;// depth scale uses the smaller axis so back-points still feel right\nconst RZ=Math.min(RX,RY);// reference radius for things that should stay uniform\n// (perspective math, signal/halo/pulse sizes)\nconst R=Math.min(RX,RY);// perspective: longer focal = flatter / less distortion / mass\n// projects closer to its true size. Camera distance is small\n// so the mass actually fills the canvas.\nconst camDist=1.05;const focal=R*12;frameRef.current++;rotYRef.current+=.0025*ROT_SPEED;rotXRef.current=Math.sin(frameRef.current*8e-4)*.25;ctx.clearRect(0,0,W,H);const cosY=Math.cos(rotYRef.current);const sinY=Math.sin(rotYRef.current);const cosX=Math.cos(rotXRef.current);const sinX=Math.sin(rotXRef.current);// project all nodes\nconst nodes=nodesRef.current;for(const n of nodes){// tangential drift: add tiny offset perpendicular to position\nn.driftPhase+=n.driftSpeed;const wobble=Math.sin(n.driftPhase)*.015;const bx=n.bx+wobble*n.bz;const bz=n.bz-wobble*n.bx;const by=n.by;// rotate around Y\nconst x1=bx*cosY+bz*sinY;const z1=-bx*sinY+bz*cosY;// rotate around X\nconst y1=by*cosX-z1*sinX;const z2=by*sinX+z1*cosX;// perspective project\n// zCam: distance from camera. Camera looks from +Z toward origin,\n// so points with smaller z2 are FARTHER (smaller projection).\nconst zCam=camDist-z2;const f=focal/(focal+zCam*RZ);n.sx=cx+x1*RX*f;n.sy=cy+y1*RY*f;n.sz=z2// for sorting (higher = closer to camera)\n;// depth scale: closer (higher z2) = larger\nn.scale=.55+.45*((z2+1)/2);// update activation decay\nn.activation+=(n.targetActivation-n.activation)*.08;n.targetActivation*=.95;// random pulses\nn.nextPulse--;if(n.nextPulse<=0){n.pulsing=true;n.pulseRadius=n.radius;n.pulseOp=.55;n.nextPulse=180+Math.floor(Math.random()*600);n.hue=(n.hue+randomBetween(-.08,.08)+1)%1;}if(n.pulsing){n.pulseRadius+=1.2;n.pulseOp-=.018;if(n.pulseOp<=0){n.pulsing=false;n.pulseOp=0;}}}// soft core glow behind the mass — gives the \"volumetric\" feeling\nif(showCoreGlow){// glow stretches to ellipse so it matches the mass shape\nconst glowRX=RX*1.2;const glowRY=RY*1.2;ctx.save();ctx.translate(cx,cy);ctx.scale(glowRX/glowRY,1);const glowGrad=ctx.createRadialGradient(0,0,0,0,0,glowRY);glowGrad.addColorStop(0,rgba(.5,.08));glowGrad.addColorStop(.5,rgba(.5,.03));glowGrad.addColorStop(1,rgba(.5,0));ctx.globalAlpha=1;ctx.fillStyle=glowGrad;ctx.beginPath();ctx.arc(0,0,glowRY,0,Math.PI*2);ctx.fill();ctx.restore();}// draw edges (back-to-front for proper depth feel) — sort a reused\n// index array in place instead of allocating new objects per frame.\nconst edges=edgesRef.current;for(let i=0;i<edges.length;i++){const e=edges[i];edgeDepth[i]=(nodes[e.a].sz+nodes[e.b].sz)/2;}edgeOrder.sort((a,b)=>edgeDepth[a]-edgeDepth[b]);for(let oi=0;oi<edgeOrder.length;oi++){const e=edges[edgeOrder[oi]];const na=nodes[e.a];const nb=nodes[e.b];const avgScale=(na.scale+nb.scale)/2;const depthOp=DEPTH_INTENSITY>0?Math.pow(avgScale,1+DEPTH_INTENSITY):avgScale;const op=e.baseOp*depthOp;if(op<.01)continue;const grad=ctx.createLinearGradient(na.sx,na.sy,nb.sx,nb.sy);grad.addColorStop(0,rgba(na.hue,op));grad.addColorStop(1,rgba(nb.hue,op));ctx.globalAlpha=1;ctx.strokeStyle=grad;ctx.lineWidth=.5*avgScale+.2;ctx.beginPath();ctx.moveTo(na.sx,na.sy);ctx.lineTo(nb.sx,nb.sy);ctx.stroke();}// spawn signals\nif(signalsRef.current.length<MAX_SIGNALS&&frameRef.current%12===0&&Math.random()<.8){spawnSignal();}// update + draw signals\nsignalsRef.current=signalsRef.current.filter(s=>{const e=edges[s.edgeIndex];if(!e)return false;const na=s.direction===1?nodes[e.a]:nodes[e.b];const nb=s.direction===1?nodes[e.b]:nodes[e.a];s.t+=s.speed;const x=na.sx+(nb.sx-na.sx)*s.t;const y=na.sy+(nb.sy-na.sy)*s.t;const scale=na.scale+(nb.scale-na.scale)*s.t;s.trail.unshift({x,y,scale,op:s.intensity});if(s.trail.length>14)s.trail.pop();for(let i=0;i<s.trail.length;i++){s.trail[i].op*=.87;}const baseOp=s.intensity*(.4+.6*scale);// trail\nfor(let i=s.trail.length-1;i>=0;i--){const p=s.trail[i];const tailOp=p.op*(1-i/s.trail.length)*baseOp;if(tailOp<.01)continue;ctx.globalAlpha=tailOp*.7;ctx.fillStyle=rgba(s.hue,1);ctx.beginPath();ctx.arc(p.x,p.y,(1.4*(1-i/s.trail.length)+.4)*p.scale,0,Math.PI*2);ctx.fill();}// head with glow\nctx.globalAlpha=baseOp*.3;ctx.fillStyle=rgba(s.hue,1);ctx.beginPath();ctx.arc(x,y,4*scale,0,Math.PI*2);ctx.fill();ctx.globalAlpha=baseOp*.9;ctx.fillStyle=rgba(s.hue,1);ctx.beginPath();ctx.arc(x,y,1.8*scale,0,Math.PI*2);ctx.fill();// hot core\nctx.globalAlpha=baseOp;ctx.fillStyle=coreStr;ctx.beginPath();ctx.arc(x,y,.9*scale,0,Math.PI*2);ctx.fill();if(s.t>=1){nb.targetActivation=Math.min(1,nb.targetActivation+s.intensity*.7);nb.pulsing=true;nb.pulseRadius=nb.radius;nb.pulseOp=.7;nb.hue=(nb.hue+(s.hue-nb.hue)*.3+1)%1;// spawn label only if node is front-facing (scale > 0.7)\nif(labelList.length>0&&nb.scale>.7&&Math.random()<labelChanceClamped){const idx=nodes.indexOf(nb);const already=labelsRef.current.some(l=>l.nodeIndex===idx);if(!already&&idx>=0){const text=labelList[Math.floor(Math.random()*labelList.length)];const side=nb.sx<W/2?1:-1;labelsRef.current.push({nodeIndex:idx,text,offsetX:side*randomBetween(28,50),offsetY:-randomBetween(22,38),op:0,life:labelHold+60,maxLife:labelHold+60});}}return false;}return true;});// draw nodes — sorted back-to-front so closer ones overlay.\n// Reused index array, sorted in place.\nnodeOrder.sort((a,b)=>nodes[a].sz-nodes[b].sz);for(let oi=0;oi<nodeOrder.length;oi++){const n=nodes[nodeOrder[oi]];const depthMul=DEPTH_INTENSITY>0?Math.pow(n.scale,1+DEPTH_INTENSITY*1.5):n.scale;const drawOp=.85*depthMul;const actBoost=1+n.activation*1.5;const r=n.radius*n.scale;// pulse ring\nif(n.pulsing&&n.pulseOp>0){ctx.globalAlpha=n.pulseOp*.6*depthMul;ctx.strokeStyle=rgba(n.hue,1);ctx.lineWidth=.7;ctx.beginPath();ctx.arc(n.sx,n.sy,n.pulseRadius*n.scale,0,Math.PI*2);ctx.stroke();}// halo (stronger if activated)\nconst haloR=(r+4)*actBoost;const haloGrad=ctx.createRadialGradient(n.sx,n.sy,r*.5,n.sx,n.sy,haloR);haloGrad.addColorStop(0,rgba(n.hue,drawOp*.45*actBoost));haloGrad.addColorStop(1,rgba(n.hue,0));ctx.globalAlpha=1;ctx.fillStyle=haloGrad;ctx.beginPath();ctx.arc(n.sx,n.sy,haloR,0,Math.PI*2);ctx.fill();// outer ring\nctx.globalAlpha=drawOp*.3;ctx.strokeStyle=rgba(n.hue,1);ctx.lineWidth=.7;ctx.beginPath();ctx.arc(n.sx,n.sy,r+2,0,Math.PI*2);ctx.stroke();// core\nctx.globalAlpha=drawOp;ctx.fillStyle=rgba(n.hue,1);ctx.beginPath();ctx.arc(n.sx,n.sy,r,0,Math.PI*2);ctx.fill();// hot center on activated\nif(n.activation>.1){ctx.globalAlpha=n.activation*drawOp;ctx.fillStyle=coreStr;ctx.beginPath();ctx.arc(n.sx,n.sy,r*.5,0,Math.PI*2);ctx.fill();}}// labels (clean minimal pills)\nconst labelFont=\"500 11px Archivo, 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif\";ctx.font=labelFont;ctx.textBaseline=\"middle\";labelsRef.current=labelsRef.current.filter(lbl=>{const n=nodes[lbl.nodeIndex];if(!n)return false;lbl.life--;const fadeFrames=30;if(lbl.life>lbl.maxLife-fadeFrames){const t=1-(lbl.life-(lbl.maxLife-fadeFrames))/fadeFrames;lbl.op=Math.min(1,t);}else if(lbl.life<fadeFrames){lbl.op=Math.max(0,lbl.life/fadeFrames);}else{lbl.op=1;}if(lbl.life<=0)return false;// hide labels when their node rotates to the back\nconst visibility=n.scale>.65?(n.scale-.65)/.35:0;const a=lbl.op*labelOp*visibility;if(a<.02)return true;const lx=n.sx+lbl.offsetX;const ly=n.sy+lbl.offsetY;const padX=10;const padY=5;const metrics=ctx.measureText(lbl.text);const tw=metrics.width;const th=12;const boxW=tw+padX*2;const boxH=th+padY*2;const bx=lbl.offsetX>0?lx:lx-boxW;const by=ly-boxH/2;const rr=boxH/2;const lr=lblColor.r;const lg=lblColor.g;const lb=lblColor.b;const tr=lblTextColor.r;const tg=lblTextColor.g;const tb=lblTextColor.b;const br=lblBorderColor.r;const bg=lblBorderColor.g;const bbl=lblBorderColor.b;// pill path\nconst pillPath=new Path2D;pillPath.moveTo(bx+rr,by);pillPath.lineTo(bx+boxW-rr,by);pillPath.arc(bx+boxW-rr,by+rr,rr,-Math.PI/2,Math.PI/2);pillPath.lineTo(bx+rr,by+boxH);pillPath.arc(bx+rr,by+rr,rr,Math.PI/2,-Math.PI/2);pillPath.closePath();// connector line — uses border color so it matches the pill outline\nconst connectorEndX=lbl.offsetX>0?bx:bx+boxW;ctx.globalAlpha=a*.35;ctx.strokeStyle=`rgba(${br},${bg},${bbl},1)`;ctx.lineWidth=.5;ctx.beginPath();ctx.moveTo(n.sx,n.sy);ctx.lineTo(connectorEndX,by+boxH/2);ctx.stroke();// solid fill\nctx.globalAlpha=a*.95;ctx.fillStyle=`rgba(${lr},${lg},${lb},1)`;ctx.fill(pillPath);// hairline border\nctx.globalAlpha=a*.5;ctx.strokeStyle=`rgba(${br},${bg},${bbl},1)`;ctx.lineWidth=.5;ctx.stroke(pillPath);// text\nctx.globalAlpha=a;ctx.fillStyle=`rgba(${tr},${tg},${tb},1)`;ctx.fillText(lbl.text,bx+padX,by+boxH/2+.5);return true;});ctx.globalAlpha=1;}// ---------- Frame loop with off-screen + reduced-motion gating ----------\nlet visible=isInViewport||isCanvas;let looping=false;function frame(){draw();// Keep looping only while visible and motion is allowed. Under\n// reduced-motion we render a single static frame and stop.\nif(visible&&!reduce){rafRef.current=requestAnimationFrame(frame);}else{looping=false;}}function start(){if(looping||!visible)return;looping=true;rafRef.current=requestAnimationFrame(frame);}function stop(){looping=false;cancelAnimationFrame(rafRef.current);}const onResize=()=>{resize();// Re-kick the loop (or, under reduced-motion, draw one static frame\n// at the new size).\nstart();};resize();window.addEventListener(\"resize\",onResize);// ResizeObserver catches container size changes that don't fire window resize\n// (e.g. when the parent Framer frame is resized, or breakpoints flip)\nlet ro=null;if(typeof ResizeObserver!==\"undefined\"&&canvas.parentElement){ro=new ResizeObserver(()=>onResize());ro.observe(canvas.parentElement);}// PERF: stop the render loop entirely while scrolled off-screen,\n// and restart it cleanly when it comes back into view.\nlet io=null;if(typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(entries=>{visible=entries[0]?.isIntersecting??true;if(visible)start();else stop();},{rootMargin:\"200px 0px 200px 0px\",threshold:.01});io.observe(canvas);}start();return()=>{window.removeEventListener(\"resize\",onResize);if(ro)ro.disconnect();if(io)io.disconnect();cancelAnimationFrame(rafRef.current);};},[colorStart,colorMid,colorEnd,coreColor,nodeCount,edgesPerNode,rotationSpeed,signalSpeedMultiplier,maxSignals,massScale,depthIntensity,showCoreGlow,isNearViewport,isInViewport,isCanvas,labels,labelChance,labelColor,labelTextColor,labelBorderColor,labelOpacity,labelHoldFrames]);return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",background:background,overflow:\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\",pointerEvents:\"none\"}})});}NeuralMass.defaultProps={colorStart:\"#F97316\",colorMid:\"#A78BFA\",colorEnd:\"#38BDF8\",coreColor:\"#FFFFFF\",nodeCount:120,edgesPerNode:3,rotationSpeed:1,signalSpeedMultiplier:1,maxSignals:20,massScale:1,depthIntensity:.6,showCoreGlow:false,background:\"transparent\",labels:\"Lead Score: 87, Opportunity: $42K, Account: Acme Corp, Pipeline Stage: 4/6, Forecast: $1.2M, Contact: J. Doe, Activity: +12, MQL → SQL, Renewal: 92%, ARR: $480K, Win Rate: 34%, Touchpoints: 7, NPS: 8.4, Deal Velocity: 18d, Engagement: High\",labelChance:.3,labelColor:\"#0F172A\",labelTextColor:\"#FFFFFF\",labelBorderColor:\"#FFFFFF\",labelOpacity:1,labelHoldFrames:180};addPropertyControls(NeuralMass,{colorStart:{type:ControlType.Color,title:\"Color Start\",defaultValue:\"#F97316\"},colorMid:{type:ControlType.Color,title:\"Color Mid\",defaultValue:\"#A78BFA\"},colorEnd:{type:ControlType.Color,title:\"Color End\",defaultValue:\"#38BDF8\"},coreColor:{type:ControlType.Color,title:\"Hot Core\",defaultValue:\"#FFFFFF\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},nodeCount:{type:ControlType.Number,title:\"Node Count\",defaultValue:120,min:20,max:400,step:5},edgesPerNode:{type:ControlType.Number,title:\"Edges / Node\",description:\"How many nearest neighbors each node connects to.\",defaultValue:3,min:1,max:8,step:1},rotationSpeed:{type:ControlType.Number,title:\"Rotation Speed\",defaultValue:1,min:0,max:4,step:.1,displayStepper:true},signalSpeedMultiplier:{type:ControlType.Number,title:\"Signal Speed\",defaultValue:1,min:.1,max:4,step:.1,displayStepper:true},maxSignals:{type:ControlType.Number,title:\"Max Signals\",defaultValue:20,min:0,max:80,step:1},massScale:{type:ControlType.Number,title:\"Mass Scale\",description:\"Size of the cluster relative to canvas.\",defaultValue:1,min:.2,max:1,step:.05},depthIntensity:{type:ControlType.Number,title:\"Depth Intensity\",description:\"How strongly back points fade.\",defaultValue:.6,min:0,max:1,step:.05},showCoreGlow:{type:ControlType.Boolean,title:\"Core Glow\",defaultValue:false},labels:{type:ControlType.String,title:\"Labels\",description:\"Comma-separated. Random pick on each activation.\",defaultValue:\"Lead Score: 87, Opportunity: $42K, Account: Acme Corp, Pipeline Stage: 4/6, Forecast: $1.2M, Contact: J. Doe, Activity: +12, MQL → SQL, Renewal: 92%, ARR: $480K, Win Rate: 34%, Touchpoints: 7, NPS: 8.4, Deal Velocity: 18d, Engagement: High\",displayTextArea:true},labelChance:{type:ControlType.Number,title:\"Label Chance\",defaultValue:.3,min:0,max:1,step:.05},labelColor:{type:ControlType.Color,title:\"Pill Fill\",defaultValue:\"#0F172A\"},labelTextColor:{type:ControlType.Color,title:\"Pill Text\",defaultValue:\"#FFFFFF\"},labelBorderColor:{type:ControlType.Color,title:\"Pill Border\",description:\"Also used for the connector line to the neuron.\",defaultValue:\"#FFFFFF\"},labelOpacity:{type:ControlType.Number,title:\"Label Opacity\",defaultValue:1,min:0,max:1,step:.05},labelHoldFrames:{type:ControlType.Number,title:\"Label Duration\",defaultValue:180,min:30,max:600,step:10}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NeuralMass\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"800\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"600\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Data_Particles3.map"],"mappings":"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"}