{"version":3,"file":"WireframeGraphics.D0O2dfQB.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/vncd8KwQnKbkRGzpkRHF/W1TrEZXAGt1R0oJSFFt7/WireframeGraphics.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// ─── Seeded PRNG (mulberry32) ─────────────────────────────────────────────────\nfunction mulberry32(seed){return function(){seed|=0;seed=seed+1831565813|0;let t=Math.imul(seed^seed>>>15,1|seed);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296;};}const compositions={diagonalBeam:(nx,ny,t)=>{const beam=1-Math.abs(nx-ny-Math.sin(t*.3)*.06)*18;return Math.max(0,beam);},cornerWedge:(nx,ny,t)=>{const s=.5+Math.sin(t*.2)*.05;const v=1-Math.max(0,nx+ny-s)*5;return Math.max(0,v);},arc:(nx,ny,t)=>{const r=Math.sqrt((1-nx)**2+ny**2);const target=.55+Math.sin(t*.25)*.03;return Math.max(0,1-Math.abs(r-target)*18);},rings:(nx,ny,t)=>{const cx=.5+Math.sin(t*.2)*.05;const cy=.5+Math.cos(t*.17)*.05;const r=Math.sqrt((nx-cx)**2+(ny-cy)**2);return Math.max(0,Math.sin(r*18-t)*.5+.5);},topWedge:(nx,ny,t)=>{const cut=nx*.8+Math.sin(t*.2)*.04;const v=1-Math.max(0,ny-cut)*6;return Math.max(0,v);},cross:(nx,ny,t)=>{const vbar=Math.max(0,1-Math.abs(nx-.5)*24);const hbar=Math.max(0,1-Math.abs(ny-.5-Math.sin(t*.2)*.04)*24);return Math.min(1,vbar+hbar);},hatch:(nx,ny,t)=>{const a=Math.abs(Math.sin((nx-ny)*Math.PI*8+t*.5))>.7?1:0;const b=Math.abs(Math.sin((nx+ny)*Math.PI*8-t*.3))>.85?1:0;return Math.min(1,a+b);},wave:(nx,ny,t)=>{const w=Math.sin(nx*Math.PI*4+t)*.5+.5;const mask=1-Math.abs(ny-w)*10;return Math.max(0,mask);},spiral:(nx,ny,t)=>{const cx=.5,cy=.5;const dx=nx-cx,dy=ny-cy;const r=Math.sqrt(dx*dx+dy*dy);const angle=Math.atan2(dy,dx);const s=Math.abs(Math.sin(angle*3-r*14+t))>.7?1:0;return s*Math.max(0,1-r*1.8);},burst:(nx,ny,t)=>{const cx=.5,cy=.5;const dx=nx-cx,dy=ny-cy;const angle=Math.atan2(dy,dx);const r=Math.sqrt(dx*dx+dy*dy);const ray=Math.abs(Math.sin(angle*7+t*.4))>.8?1:0;return ray*Math.max(0,1-r*2.2);},cornerFill:(nx,ny,t)=>{const s=.55+Math.sin(t*.18)*.04;return Math.max(0,(nx+ny-s)*3);},scanlines:(nx,ny,t)=>{const v=Math.abs(Math.sin(nx*Math.PI*12+t*.3))>.65?1:0;return v*(.4+ny*.6);},scanH:(nx,ny,t)=>{const v=Math.abs(Math.sin(ny*Math.PI*12-t*.3))>.65?1:0;return v*(.4+nx*.6);},chevron:(nx,ny,t)=>{const phase=t*.25;const d=Math.abs(Math.abs(nx-.5)+ny-.5-Math.sin(phase)*.05)*14;return Math.max(0,1-d);},vignette:(nx,ny,t)=>{const edge=Math.min(nx,ny,1-nx,1-ny)*4;const pulse=.9+Math.sin(t*.3)*.1;return Math.min(1,edge*pulse);}};const COMP_KEYS=Object.keys(compositions);/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function WireframeGraphics({color=\"rgb(54, 191, 250)\",secondaryColor=\"\",backgroundColor=\"transparent\",density=.5,gridSize=10,speed=.5,contrast=.5,composition=\"auto\",seed=1,style}){const canvasRef=useRef(null);const stateRef=useRef({t:0,frame:0,visible:false});useEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");const S=stateRef.current;const resize=()=>{const dpr=Math.min(window.devicePixelRatio||1,2);canvas.width=canvas.offsetWidth*dpr;canvas.height=canvas.offsetHeight*dpr;ctx.setTransform(dpr,0,0,dpr,0,0);};resize();const ro=new ResizeObserver(resize);ro.observe(canvas);// Pause rAF when off-screen\nconst io=new IntersectionObserver(([entry])=>{S.visible=entry.isIntersecting;if(entry.isIntersecting&&!S.frame){S.frame=requestAnimationFrame(tick);}},{rootMargin:\"120px 0px\"});io.observe(canvas);const rng=mulberry32(seed*9999+1);const compKey=composition===\"auto\"?COMP_KEYS[Math.floor(rng()*COMP_KEYS.length)]:composition;const densityFn=compositions[compKey]??compositions.diagonalBeam;const compKey2=COMP_KEYS[Math.floor(rng()*COMP_KEYS.length)];const densityFn2=composition===\"auto\"?compositions[compKey2]??null:null;const blend=rng()*.4;const dotSize=Math.max(.8,gridSize*.16);const threshold=1-Math.min(.98,Math.max(.02,density));const contrastPow=.5+contrast*2.5;const tick=()=>{if(!S.visible){S.frame=0;return;}S.frame=requestAnimationFrame(tick);S.t+=speed*.008;const W=canvas.offsetWidth;const H=canvas.offsetHeight;if(!W||!H)return;ctx.clearRect(0,0,W,H);if(backgroundColor!==\"transparent\"&&backgroundColor!==\"\"){ctx.fillStyle=backgroundColor;ctx.fillRect(0,0,W,H);}const step=gridSize;const cols=Math.ceil(W/step)+1;const rows=Math.ceil(H/step)+1;const useSecondary=secondaryColor&&secondaryColor!==\"\";for(let r=0;r<rows;r++){for(let c=0;c<cols;c++){const x=c*step;const y=r*step;const nx=x/W;const ny=y/H;let d=densityFn(nx,ny,S.t);if(densityFn2){d=d*(1-blend)+densityFn2(nx,ny,S.t)*blend;}d=Math.pow(Math.max(0,Math.min(1,d)),contrastPow);if(d>threshold){const alpha=Math.pow((d-threshold)/(1-threshold),.7);if(useSecondary&&alpha<.5){ctx.fillStyle=secondaryColor;ctx.globalAlpha=alpha*2;}else if(useSecondary){ctx.fillStyle=color;ctx.globalAlpha=(alpha-.5)*2;}else{ctx.fillStyle=color;ctx.globalAlpha=alpha;}ctx.beginPath();ctx.arc(x,y,dotSize,0,Math.PI*2);ctx.fill();}}}ctx.globalAlpha=1;};return()=>{if(S.frame)cancelAnimationFrame(S.frame);S.frame=0;ro.disconnect();io.disconnect();};},[color,secondaryColor,backgroundColor,density,gridSize,speed,contrast,composition,seed]);return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{display:\"block\",width:\"100%\",height:\"100%\",...style}});}addPropertyControls(WireframeGraphics,{composition:{type:ControlType.Enum,title:\"Composition\",options:[\"auto\",...COMP_KEYS],optionTitles:[\"Auto (seeded)\",\"Diagonal Beam\",\"Corner Wedge\",\"Arc\",\"Rings\",\"Top Wedge\",\"Cross\",\"Hatch\",\"Wave\",\"Spiral\",\"Burst\",\"Corner Fill\",\"Scan Lines V\",\"Scan Lines H\",\"Chevron\",\"Vignette\"],defaultValue:\"auto\"},seed:{type:ControlType.Number,title:\"Variation Seed\",defaultValue:1,min:1,max:999,step:1,displayStepper:true},color:{type:ControlType.Color,title:\"Foreground\",defaultValue:\"rgb(54, 191, 250)\"},secondaryColor:{type:ControlType.Color,title:\"Secondary\",defaultValue:\"\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},density:{type:ControlType.Number,title:\"Density\",defaultValue:.5,min:.05,max:.95,step:.05,displayStepper:true},gridSize:{type:ControlType.Number,title:\"Grid Size\",defaultValue:10,min:4,max:40,step:1,displayStepper:true},contrast:{type:ControlType.Number,title:\"Contrast\",defaultValue:.5,min:0,max:1,step:.05,displayStepper:true},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.5,min:0,max:5,step:.1,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WireframeGraphics\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WireframeGraphics.map"],"mappings":"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"}