{"version":3,"file":"RisoHalftone.BwmRnqlB.mjs","names":["p","useRef","useState","__esmMin","init_npm_react_18_3_1","window","init_ssg_sandbox_shims","ce","p","_e","de","useIsStaticRenderer","addPropertyControls","ControlType","RenderTarget","init_framer_CaDWdxiz","resolveVar","m","value","el","v","parseRGB","hit","rgbCache","colorCtx","c","d","rgb","makeColorReader","tokens","now","TOKEN_TTL","readBus","compile","sh","gl","type","src","makePass","vs","VERT","fs","frag","prog","loc","u","uniforms","RisoHalftone","p$1","DEFAULTS","props","pr","PRESETS","ink2","wrapRef","canvasRef","propsRef","redrawRef","isStatic","isCanvas","error","setError","canvas","wrap","color","tonePass","printPass","quad","toneTex","toneFbo","toneW","toneH","setup","FRAG_TONE","TONE_UNIFORMS","FRAG_PRINT","PRINT_UNIFORMS","sizeTone","spacing","dpr","w","TONE_MAX_TEXELS","width","h","height","raf","last","time","visible","mouse","scroll","audio","rings","jit","reduceMotion","resize","rect","DPR_CAP","bindQuad","pass","draw","q","rad","t","a","MODES","b","SHAPES","music","style","styleOf","breathe","ripple","audioOn","settling","r","shouldAnimate","clock","follow","tau","target","rise","fall","dt","frame","bus","on","pulse","mag","ang","k","i","boost","ks","kick","ro","io","entry","onMove","x","y","inside","onScroll","onLeave","onAudio","onLost","onRestored","PRESET_KEYS","TONE_LO","TONE_SPAN","init_RisoHalftone","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/VbDmzgIYB8py9IRyliZm/eC6Q1v4PiVE0Y4xZb81O/RisoHalftone.js"],"sourcesContent":["/**\n * Riso Halftone — animated screen-print / risograph halftone background.\n * A single-file Framer code component. WebGL, no dependencies.\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";const PRESETS={\"soft-rose\":{label:\"Soft \\xb7 Rose + Cream\",paper:\"#B0677F\",ink:\"#E3C1A6\"},\"soft-sky\":{label:\"Soft \\xb7 Sky + Pink + Plum\",paper:\"#8AC6F2\",ink:\"#F4C4DC\",ink2:\"#B872F0\"},\"soft-seafoam\":{label:\"Soft \\xb7 Seafoam + Tangerine\",paper:\"#A3D2C3\",ink:\"#F2A27C\",ink2:\"#F6E8CB\"},\"soft-lime\":{label:\"Soft \\xb7 Lime + Periwinkle\",paper:\"#C6DEA2\",ink:\"#6672D2\"},\"soft-mustard\":{label:\"Soft \\xb7 Mustard + Moss\",paper:\"#D2C672\",ink:\"#97A46A\",ink2:\"#EFEDC4\"},\"fluo-blue-pink\":{label:\"Fluoro \\xb7 Blue + Fluo Pink\",paper:\"#F4EFE6\",ink:\"#0078BF\",ink2:\"#FF48B0\"},\"fluo-teal-orange\":{label:\"Fluoro \\xb7 Teal + Orange\",paper:\"#F4EFE6\",ink:\"#00838A\",ink2:\"#FF6C2F\"},\"fluo-black-red\":{label:\"Fluoro \\xb7 Black + Bright Red\",paper:\"#F4EFE6\",ink:\"#000000\",ink2:\"#F15060\"}};const PRESET_KEYS=[\"custom\",...Object.keys(PRESETS)];const SHAPES=[\"circle\",\"diamond\",\"square\",\"line\"];const MODES=[\"flow\",\"ripple\",\"wave\",\"pulse\"];const DPR_CAP={low:1,standard:1.5,high:2};const TONE_LO=-.25;const TONE_SPAN=1.5;const TONE_MAX_TEXELS=1024;// ---------------------------------------------------------------------------\n// Shaders\n// ---------------------------------------------------------------------------\nconst VERT=`\nattribute vec2 aPos;\nvoid main() { gl_Position = vec4(aPos, 0.0, 1.0); }\n`;const FRAG_TONE=`\nprecision highp float;\nuniform vec2  uRes;\nuniform vec2  uToneRes;\nuniform float uTime;\nuniform float uScale;\nuniform float uDensity;\nuniform float uContrast;\nuniform float uDrift;\nuniform vec2  uDir;\nuniform float uMode;\nuniform float uFreq;\nuniform float uWobble;\nuniform vec2  uOrigin;\nuniform float uSeed;\nuniform float uLayer2;\nuniform float uVariation;\nvec3 mod289(vec3 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }\nvec4 mod289(vec4 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }\nvec4 permute(vec4 x) { return mod289(((x * 34.0) + 1.0) * x); }\nvec4 taylorInvSqrt(vec4 r) { return 1.79284291400159 - 0.85373472095314 * r; }\nfloat snoise(vec3 v) {\n    const vec2 C = vec2(1.0 / 6.0, 1.0 / 3.0);\n    const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\n    vec3 i  = floor(v + dot(v, C.yyy));\n    vec3 x0 = v - i + dot(i, C.xxx);\n    vec3 g  = step(x0.yzx, x0.xyz);\n    vec3 l  = 1.0 - g;\n    vec3 i1 = min(g.xyz, l.zxy);\n    vec3 i2 = max(g.xyz, l.zxy);\n    vec3 x1 = x0 - i1 + C.xxx;\n    vec3 x2 = x0 - i2 + C.yyy;\n    vec3 x3 = x0 - D.yyy;\n    i = mod289(i);\n    vec4 p = permute(permute(permute(\n                i.z + vec4(0.0, i1.z, i2.z, 1.0))\n              + i.y + vec4(0.0, i1.y, i2.y, 1.0))\n              + i.x + vec4(0.0, i1.x, i2.x, 1.0));\n    float n_ = 0.142857142857;\n    vec3 ns = n_ * D.wyz - D.xzx;\n    vec4 j  = p - 49.0 * floor(p * ns.z * ns.z);\n    vec4 x_ = floor(j * ns.z);\n    vec4 y_ = floor(j - 7.0 * x_);\n    vec4 x  = x_ * ns.x + ns.yyyy;\n    vec4 y  = y_ * ns.x + ns.yyyy;\n    vec4 h  = 1.0 - abs(x) - abs(y);\n    vec4 b0 = vec4(x.xy, y.xy);\n    vec4 b1 = vec4(x.zw, y.zw);\n    vec4 s0 = floor(b0) * 2.0 + 1.0;\n    vec4 s1 = floor(b1) * 2.0 + 1.0;\n    vec4 sh = -step(h, vec4(0.0));\n    vec4 a0 = b0.xzyw + s0.xzyw * sh.xxyy;\n    vec4 a1 = b1.xzyw + s1.xzyw * sh.zzww;\n    vec3 p0 = vec3(a0.xy, h.x);\n    vec3 p1 = vec3(a0.zw, h.y);\n    vec3 p2 = vec3(a1.xy, h.z);\n    vec3 p3 = vec3(a1.zw, h.w);\n    vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2,p2), dot(p3,p3)));\n    p0 *= norm.x; p1 *= norm.y; p2 *= norm.z; p3 *= norm.w;\n    vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n    m = m * m;\n    return 42.0 * dot(m * m, vec4(dot(p0,x0), dot(p1,x1), dot(p2,x2), dot(p3,x3)));\n}\nfloat fbm(vec3 p) {\n    float s = 0.0;\n    float a = 0.5;\n    for (int i = 0; i < 3; i++) {\n        s += a * snoise(p);\n        p = p * 2.03 + 17.1;\n        a *= 0.5;\n    }\n    return s / 0.875;\n}\nfloat field(vec2 px, float z) {\n    float unit = max(uRes.x, uRes.y);\n    vec2 p = px / unit * uScale;\n    p -= uDir * uTime * 0.4 * uDrift;\n    float n = fbm(vec3(p + uSeed * 7.31, uTime * 0.6 + z));\n    float f = n;\n    vec2 q = px / unit;\n    float TAU = 6.28318;\n    if (uMode > 0.5 && uMode < 1.5) {\n        vec2 o = uOrigin * uRes / unit;\n        f = 0.55 * sin((length(q - o) + n * uWobble * 0.35 / uFreq) * uFreq * TAU - uTime * 3.0);\n        f = mix(f, n, uWobble * 0.35);\n    } else if (uMode > 1.5 && uMode < 2.5) {\n        f = 0.55 * sin((dot(q, uDir) + n * uWobble * 0.35 / uFreq) * uFreq * TAU - uTime * 3.0);\n        f = mix(f, n, uWobble * 0.35);\n    } else if (uMode > 2.5) {\n        f = n + 0.3 * sin(uTime * 2.0);\n    }\n    return (f * 0.5) * uContrast + 0.5 + (uDensity - 0.5) * 1.2;\n}\nfloat encode(float t) { return clamp((t - (${TONE_LO.toFixed(2)})) / ${TONE_SPAN.toFixed(2)}, 0.0, 1.0); }\nvoid main() {\n    vec2 px = gl_FragCoord.xy * (uRes / uToneRes);\n    float t1 = field(px, 0.0);\n    float t2 = uLayer2 > 0.5 ? field(px, uVariation * 4.0) : 0.0;\n    gl_FragColor = vec4(encode(t1), encode(t2), 0.0, 1.0);\n}\n`;const FRAG_PRINT=`\nprecision highp float;\nuniform sampler2D uTone;\nuniform vec2  uRes;\nuniform float uDpr;\nuniform vec3  uPaper;\nuniform vec3  uInk1;\nuniform vec3  uInk2;\nuniform float uCell;\nuniform float uAngle1;\nuniform float uAngle2;\nuniform float uShape;\nuniform float uDotMax;\nuniform float uLayer2;\nuniform float uOverprint;\nuniform vec2  uOffset2;\nuniform float uGrain;\nuniform vec2  uMouse;\nuniform float uMouseR;\nuniform float uMouseS;\nuniform float uSwell;\nuniform vec4  uRingAge;\nuniform vec4  uRingAmp;\nuniform vec2  uOrigin;\nuniform vec2  uJitter;\nfloat hash(vec2 p) {\n    p = fract(p * vec2(123.34, 456.21));\n    p += dot(p, p + 45.32);\n    return fract(p.x * p.y);\n}\nfloat ring(float d, float age, float amp) {\n    float R = age * 0.8;\n    float w = 0.045 + age * 0.05;\n    float x = (d - R) / w;\n    return amp * exp(-x * x) * exp(-age * 1.3);\n}\nfloat toneAt(vec2 cpx, float layer) {\n    vec4 s = texture2D(uTone, cpx / uRes);\n    float t = (layer < 0.5 ? s.r : s.g) * ${TONE_SPAN.toFixed(2)} + (${TONE_LO.toFixed(2)});\n    vec2 d = cpx - uMouse;\n    float r = uMouseR * uDpr;\n    t += uMouseS * exp(-dot(d, d) / (r * r));\n    t = clamp(t, 0.0, 1.0);\n    float unit = max(uRes.x, uRes.y);\n    float dist = length(cpx / unit - uOrigin * uRes / unit);\n    float rg = ring(dist, uRingAge.x, uRingAmp.x) + ring(dist, uRingAge.y, uRingAmp.y)\n             + ring(dist, uRingAge.z, uRingAmp.z) + ring(dist, uRingAge.w, uRingAmp.w);\n    float grow = 1.0 + uSwell + rg;\n    t = t * grow * grow + rg * 0.12;\n    return clamp(t, 0.0, 1.0);\n}\nfloat screen(vec2 px, float ang, float layer) {\n    float cell = uCell * uDpr;\n    float c = cos(ang);\n    float s = sin(ang);\n    vec2 q = vec2(c * px.x + s * px.y, -s * px.x + c * px.y);\n    vec2 g = q / cell;\n    vec2 id = floor(g);\n    vec2 f = fract(g) - 0.5;\n    vec2 cq = (id + 0.5) * cell;\n    vec2 cpx = vec2(c * cq.x - s * cq.y, s * cq.x + c * cq.y);\n    float v = toneAt(cpx, layer);\n    float r = sqrt(v) * uDotMax;\n    float d;\n    if (uShape < 0.5)      d = length(f);\n    else if (uShape < 1.5) d = (abs(f.x) + abs(f.y)) * 0.7071;\n    else if (uShape < 2.5) d = max(abs(f.x), abs(f.y)) * 0.886;\n    else {\n        d = abs(f.y);\n        r = v * uDotMax * 0.8;\n    }\n    float aa = 0.8 / cell;\n    return 1.0 - smoothstep(r - aa, r + aa, d);\n}\nvoid main() {\n    vec2 px = gl_FragCoord.xy;\n    float speck = hash(floor(px / max(uDpr, 1.0)));\n    float inkLoss = 1.0 - uGrain * 0.35 * step(0.82, speck);\n    vec2 j1 = uLayer2 > 0.5 ? vec2(0.0) : uJitter;\n    float a1 = screen(px - j1 * uDpr, uAngle1, 0.0) * inkLoss;\n    vec3 col = uPaper;\n    if (uLayer2 > 0.5) {\n        float a2 = screen(px - (uOffset2 + uJitter) * uDpr, uAngle2, 1.0) * inkLoss;\n        col = mix(col, uInk2, a2);\n        col = mix(col, uInk1, a1);\n        col = mix(col, uInk1 * uInk2, a1 * a2 * uOverprint);\n    } else {\n        col = mix(col, uInk1, a1);\n    }\n    float g = hash(floor(px / max(uDpr, 1.0)) + 3.17) - 0.5;\n    col += g * uGrain * 0.12;\n    gl_FragColor = vec4(clamp(col, 0.0, 1.0), 1.0);\n}\n`;let colorCtx=null;const rgbCache=new Map;function resolveVar(value,el){const m=value.match(/^var\\(\\s*(--[^,\\s)]+)\\s*(?:,\\s*(.+))?\\)$/);if(!m)return value;if(el){const v=getComputedStyle(el).getPropertyValue(m[1]).trim();if(v)return resolveVar(v,el);}return m[2]?resolveVar(m[2].trim(),el):\"#000\";}function parseRGB(value){const hit=rgbCache.get(value);if(hit)return hit;if(typeof document===\"undefined\")return[0,0,0];if(!colorCtx){const c=document.createElement(\"canvas\");c.width=c.height=1;colorCtx=c.getContext(\"2d\",{willReadFrequently:true});}if(!colorCtx)return[0,0,0];colorCtx.clearRect(0,0,1,1);colorCtx.fillStyle=\"#000\";colorCtx.fillStyle=value||\"#000\";colorCtx.fillRect(0,0,1,1);const d=colorCtx.getImageData(0,0,1,1).data;const rgb=[d[0]/255,d[1]/255,d[2]/255];if(rgbCache.size>256)rgbCache.clear();rgbCache.set(value,rgb);return rgb;}const TOKEN_TTL=500;function makeColorReader(el){const tokens=new Map;return value=>{const v=value||\"#000\";if(!v.startsWith(\"var(\"))return parseRGB(v);const now=performance.now();const hit=tokens.get(v);if(hit&&now-hit.at<TOKEN_TTL)return hit.rgb;const rgb=parseRGB(resolveVar(v,el));tokens.set(v,{rgb,at:now});return rgb;};}// ---------------------------------------------------------------------------\n// Audio bus\n// ---------------------------------------------------------------------------\n// 🟢 修复 2：直接使用 window.__risoAudio，无 any，享受完整的 TypeScript 提示\nfunction readBus(){if(typeof window===\"undefined\")return undefined;return window.__risoAudio;}function compile(gl,type,src){const sh=gl.createShader(type);gl.shaderSource(sh,src);gl.compileShader(sh);if(!gl.getShaderParameter(sh,gl.COMPILE_STATUS)){console.warn(\"[RisoHalftone] shader error:\",gl.getShaderInfoLog(sh));gl.deleteShader(sh);return null;}return sh;}function makePass(gl,frag,uniforms){const vs=compile(gl,gl.VERTEX_SHADER,VERT);const fs=compile(gl,gl.FRAGMENT_SHADER,frag);if(!vs||!fs)return null;const prog=gl.createProgram();gl.attachShader(prog,vs);gl.attachShader(prog,fs);gl.linkProgram(prog);if(!gl.getProgramParameter(prog,gl.LINK_STATUS)){console.warn(\"[RisoHalftone] link error:\",gl.getProgramInfoLog(prog));return null;}const loc={};for(const u of uniforms)loc[u]=gl.getUniformLocation(prog,u);return{prog,loc,aPos:gl.getAttribLocation(prog,\"aPos\")};}const TONE_UNIFORMS=[\"uRes\",\"uToneRes\",\"uTime\",\"uScale\",\"uDensity\",\"uContrast\",\"uDrift\",\"uDir\",\"uMode\",\"uFreq\",\"uWobble\",\"uOrigin\",\"uSeed\",\"uLayer2\",\"uVariation\"];const PRINT_UNIFORMS=[\"uTone\",\"uRes\",\"uDpr\",\"uPaper\",\"uInk1\",\"uInk2\",\"uCell\",\"uAngle1\",\"uAngle2\",\"uShape\",\"uDotMax\",\"uLayer2\",\"uOverprint\",\"uOffset2\",\"uGrain\",\"uMouse\",\"uMouseR\",\"uMouseS\",\"uSwell\",\"uRingAge\",\"uRingAmp\",\"uOrigin\",\"uJitter\"];const DEFAULTS={preset:\"custom\",paper:\"#FF8C47\",ink:\"#5B6EE8\",shape:\"circle\",cellSize:12,angle:0,dotSize:.62,scale:1.5,density:.42,contrast:3.2,speed:.25,drift:.3,direction:330,seed:1,mode:\"flow\",frequency:4,wobble:.4,originX:50,originY:50,driver:\"time\",scrollAmount:1.5,secondInk:false,ink2:\"#FF4FA3\",angle2:45,offsetX:3,offsetY:2,variation:0,overprint:true,grain:.25,interactive:true,mouseRadius:160,mouseStrength:.6,audioReact:true,audioStyle:\"jitter\",audioAmount:.5,audioMotion:.5,animateOnCanvas:false,quality:\"standard\"};// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 800\n * @framerDisableUnlink\n */export default function RisoHalftone(props){const p={...DEFAULTS,...props};const pr=PRESETS[p.preset];if(pr){p.paper=p.paperOverride||pr.paper;p.ink=p.inkOverride||pr.ink;const ink2=p.ink2Override||pr.ink2;p.secondInk=!!ink2;if(ink2)p.ink2=ink2;}const wrapRef=useRef(null);const canvasRef=useRef(null);const propsRef=useRef(p);propsRef.current=p;const redrawRef=useRef(()=>{});useEffect(()=>{redrawRef.current();});// 🟢 修复 1：依然保留 useIsStaticRenderer\nconst isStatic=useIsStaticRenderer();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[error,setError]=useState(null);useEffect(()=>{const canvas=canvasRef.current;const wrap=wrapRef.current;if(!canvas||!wrap)return;const gl=canvas.getContext(\"webgl\",{antialias:false,alpha:true,preserveDrawingBuffer:isCanvas||isStatic});if(!gl){setError(\"WebGL is not available\");return;}const color=makeColorReader(wrap);let tonePass=null;let printPass=null;let quad=null;let toneTex=null;let toneFbo=null;let toneW=0;let toneH=0;const setup=()=>{tonePass=makePass(gl,FRAG_TONE,TONE_UNIFORMS);printPass=makePass(gl,FRAG_PRINT,PRINT_UNIFORMS);if(!tonePass||!printPass){setError(\"Shader failed to compile\");return;}quad=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,quad);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),gl.STATIC_DRAW);toneTex=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,toneTex);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);toneFbo=gl.createFramebuffer();toneW=toneH=0;setError(null);};setup();const sizeTone=()=>{const spacing=Math.max(2,Math.max(2,propsRef.current.cellSize)*dpr*.5);const w=Math.min(TONE_MAX_TEXELS,Math.max(1,Math.ceil(width/spacing)));const h=Math.min(TONE_MAX_TEXELS,Math.max(1,Math.ceil(height/spacing)));if(w===toneW&&h===toneH)return;toneW=w;toneH=h;gl.bindTexture(gl.TEXTURE_2D,toneTex);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,w,h,0,gl.RGBA,gl.UNSIGNED_BYTE,null);gl.bindFramebuffer(gl.FRAMEBUFFER,toneFbo);gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,toneTex,0);if(gl.checkFramebufferStatus(gl.FRAMEBUFFER)!==gl.FRAMEBUFFER_COMPLETE){setError(\"Tone buffer unsupported\");}gl.bindFramebuffer(gl.FRAMEBUFFER,null);};let raf=0;let last=performance.now();let time=0;let visible=true;let width=0;let height=0;let dpr=1;const mouse={x:-1e4,y:-1e4,tx:-1e4,ty:-1e4,on:0,target:0};const scroll={v:0,target:0};const audio={level:0,swell:0,prevPulse:0,lastBeat:-1,beatSeen:-1};const rings=[0,0,0,0].map(()=>({age:99,amp:0}));const jit={x:0,y:0,vx:0,vy:0};const reduceMotion=typeof window!==\"undefined\"&&window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches;const resize=()=>{const rect=wrap.getBoundingClientRect();dpr=Math.min(window.devicePixelRatio||1,DPR_CAP[propsRef.current.quality]??1.5);width=Math.max(1,Math.round(rect.width*dpr));height=Math.max(1,Math.round(rect.height*dpr));if(canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;}};const bindQuad=pass=>{gl.bindBuffer(gl.ARRAY_BUFFER,quad);gl.enableVertexAttribArray(pass.aPos);gl.vertexAttribPointer(pass.aPos,2,gl.FLOAT,false,0,0);};const draw=()=>{if(!tonePass||!printPass)return;const q=propsRef.current;const rad=Math.PI/180;const t=time+scroll.v;sizeTone();const a=tonePass;gl.bindTexture(gl.TEXTURE_2D,null);gl.bindFramebuffer(gl.FRAMEBUFFER,toneFbo);gl.viewport(0,0,toneW,toneH);gl.useProgram(a.prog);bindQuad(a);gl.uniform2f(a.loc.uRes,width,height);gl.uniform2f(a.loc.uToneRes,toneW,toneH);gl.uniform1f(a.loc.uTime,t);gl.uniform1f(a.loc.uScale,q.scale);gl.uniform1f(a.loc.uDensity,q.density);gl.uniform1f(a.loc.uContrast,q.contrast);gl.uniform1f(a.loc.uDrift,q.drift);gl.uniform2f(a.loc.uDir,Math.cos(q.direction*rad),-Math.sin(q.direction*rad));gl.uniform1f(a.loc.uMode,Math.max(0,MODES.indexOf(q.mode)));gl.uniform1f(a.loc.uFreq,q.frequency);gl.uniform1f(a.loc.uWobble,q.wobble);gl.uniform2f(a.loc.uOrigin,q.originX/100,1-q.originY/100);gl.uniform1f(a.loc.uSeed,q.seed);gl.uniform1f(a.loc.uLayer2,q.secondInk?1:0);gl.uniform1f(a.loc.uVariation,q.variation);gl.drawArrays(gl.TRIANGLES,0,3);const b=printPass;gl.bindFramebuffer(gl.FRAMEBUFFER,null);gl.viewport(0,0,width,height);gl.useProgram(b.prog);bindQuad(b);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,toneTex);gl.uniform1i(b.loc.uTone,0);gl.uniform2f(b.loc.uRes,width,height);gl.uniform1f(b.loc.uDpr,dpr);gl.uniform3fv(b.loc.uPaper,color(q.paper));gl.uniform3fv(b.loc.uInk1,color(q.ink));gl.uniform3fv(b.loc.uInk2,color(q.ink2));gl.uniform1f(b.loc.uCell,Math.max(2,q.cellSize));gl.uniform1f(b.loc.uAngle1,q.angle*rad);gl.uniform1f(b.loc.uAngle2,q.angle2*rad);gl.uniform1f(b.loc.uShape,Math.max(0,SHAPES.indexOf(q.shape)));gl.uniform1f(b.loc.uDotMax,q.dotSize);gl.uniform1f(b.loc.uLayer2,q.secondInk?1:0);gl.uniform1f(b.loc.uOverprint,q.overprint?1:0);gl.uniform2f(b.loc.uOffset2,q.offsetX,-q.offsetY);gl.uniform1f(b.loc.uGrain,q.grain);gl.uniform2f(b.loc.uMouse,mouse.x,mouse.y);gl.uniform1f(b.loc.uMouseR,Math.max(1,q.mouseRadius));gl.uniform1f(b.loc.uMouseS,q.interactive?q.mouseStrength*mouse.on:0);const music=q.audioReact?q.audioAmount:0;const style=styleOf(q);const breathe=style===\"breathe\"?1:0;const ripple=style===\"ripple\"?1:0;gl.uniform1f(b.loc.uSwell,music*breathe*audio.swell*.8);gl.uniform2f(b.loc.uJitter,jit.x,-jit.y);gl.uniform4f(b.loc.uRingAge,rings[0].age,rings[1].age,rings[2].age,rings[3].age);gl.uniform4f(b.loc.uRingAmp,rings[0].amp*music*ripple*1.6,rings[1].amp*music*ripple*1.6,rings[2].amp*music*ripple*1.6,rings[3].amp*music*ripple*1.6);gl.uniform2f(b.loc.uOrigin,q.originX/100,1-q.originY/100);gl.drawArrays(gl.TRIANGLES,0,3);};const styleOf=q=>q.audioStyle===\"breathe\"||q.audioStyle===\"ripple\"?q.audioStyle:\"jitter\";const audioOn=()=>{const q=propsRef.current;return q.audioReact&&!reduceMotion&&!isCanvas;};const settling=()=>Math.abs(scroll.target-scroll.v)>1e-4||Math.abs(mouse.target-mouse.on)>.001||mouse.on>.001&&Math.abs(mouse.tx-mouse.x)+Math.abs(mouse.ty-mouse.y)>.5||audio.level>.001||audio.swell>.001||Math.abs(jit.x)+Math.abs(jit.y)+Math.abs(jit.vx)+Math.abs(jit.vy)>.02||rings.some(r=>r.amp>0&&r.age<4);const shouldAnimate=()=>{const q=propsRef.current;if(reduceMotion)return false;if(isCanvas&&!q.animateOnCanvas)return false;const clock=q.driver!==\"scroll\"&&q.speed>0;const music=audioOn()&&!!readBus()?.playing;return clock||music||settling();};const follow=(v,target,dt,rise,fall)=>{const tau=target>v?rise:fall;return v+(target-v)*(1-Math.exp(-dt/tau));};const frame=now=>{raf=0;const dt=Math.min(.05,(now-last)/1e3);last=now;const q=propsRef.current;let hit=0;if(audioOn()){const bus=readBus();const on=!!bus?.playing;audio.level=follow(audio.level,on?bus.level:0,dt,1,1.6);if(bus&&typeof bus.beat===\"number\"){if(audio.beatSeen>=0&&bus.beat!==audio.beatSeen&&on){hit=Math.max(.35,Math.min(1,bus.beatStrength??1));}audio.beatSeen=bus.beat;}else{const pulse=on?bus.bass:0;const t=now/1e3;if(on&&pulse>.55&&audio.prevPulse<.4&&t-audio.lastBeat>.24){audio.lastBeat=t;hit=Math.min(1,pulse);}audio.prevPulse=pulse;}}else{audio.level=audio.prevPulse=0;}if(hit>0){const style=styleOf(propsRef.current);if(style===\"jitter\"){const mag=(2+propsRef.current.audioAmount*14)*hit;const ang=Math.random()*Math.PI*2;jit.x=Math.cos(ang)*mag;jit.y=Math.sin(ang)*mag;jit.vx=jit.vy=0;}else if(style===\"breathe\"){audio.swell=Math.max(audio.swell,hit);}else{rings.shift();rings.push({age:0,amp:.55+.45*hit});}}audio.swell*=Math.exp(-dt/.28);for(const r of rings)r.age=Math.min(99,r.age+dt);{const k=Math.pow(2*Math.PI*7,2);const c=2*.32*Math.sqrt(k);const n=4;const h=dt/n;for(let i=0;i<n;i++){jit.vx+=(-k*jit.x-c*jit.vx)*h;jit.vy+=(-k*jit.y-c*jit.vy)*h;jit.x+=jit.vx*h;jit.y+=jit.vy*h;}if(Math.abs(jit.x)+Math.abs(jit.y)+Math.abs(jit.vx)+Math.abs(jit.vy)<.02){jit.x=jit.y=jit.vx=jit.vy=0;}}if(!reduceMotion&&q.driver!==\"scroll\"){const boost=1+(q.audioReact?q.audioMotion*audio.level:0);time+=dt*q.speed*boost;}const ks=1-Math.pow(5e-4,dt);scroll.v+=(scroll.target-scroll.v)*ks;const k=1-Math.pow(.001,dt);mouse.x+=(mouse.tx-mouse.x)*k;mouse.y+=(mouse.ty-mouse.y)*k;mouse.on+=(mouse.target-mouse.on)*k;draw();if(visible&&shouldAnimate())raf=requestAnimationFrame(frame);};const kick=()=>{if(raf)return;draw();if(visible&&shouldAnimate()){last=performance.now();raf=requestAnimationFrame(frame);}};redrawRef.current=()=>{resize();kick();};if(isStatic){redrawRef.current=()=>{resize();draw();};resize();draw();return()=>{if(gl){if(quad)gl.deleteBuffer(quad);if(toneTex)gl.deleteTexture(toneTex);if(toneFbo)gl.deleteFramebuffer(toneFbo);}redrawRef.current=()=>{};};}const ro=new ResizeObserver(()=>{resize();kick();});ro.observe(wrap);const io=!isCanvas&&typeof IntersectionObserver!==\"undefined\"?new IntersectionObserver(([entry])=>{visible=entry.isIntersecting;if(visible)kick();}):null;io?.observe(wrap);const onMove=e=>{if(!propsRef.current.interactive||isCanvas)return;const r=wrap.getBoundingClientRect();const x=e.clientX-r.left;const y=e.clientY-r.top;const inside=x>=0&&y>=0&&x<=r.width&&y<=r.height;mouse.tx=x*dpr;mouse.ty=(r.height-y)*dpr;if(mouse.on<.01){mouse.x=mouse.tx;mouse.y=mouse.ty;}mouse.target=inside?1:0;kick();};const onScroll=e=>{const q=propsRef.current;if(isCanvas||q.driver===\"time\")return;const t=e.target;const y=t&&t.scrollTop!==undefined&&t!==document?t.scrollTop:window.scrollY||document.documentElement.scrollTop;scroll.target=y/1e3*q.scrollAmount;kick();};window.addEventListener(\"scroll\",onScroll,{passive:true,capture:true});const onLeave=()=>{mouse.target=0;kick();};window.addEventListener(\"pointermove\",onMove,{passive:true});document.documentElement.addEventListener(\"pointerleave\",onLeave);const onAudio=()=>kick();window.addEventListener(\"riso-audio\",onAudio);const onLost=e=>{e.preventDefault();cancelAnimationFrame(raf);raf=0;};const onRestored=()=>{setup();kick();};canvas.addEventListener(\"webglcontextlost\",onLost);canvas.addEventListener(\"webglcontextrestored\",onRestored);resize();kick();return()=>{cancelAnimationFrame(raf);ro.disconnect();io?.disconnect();window.removeEventListener(\"pointermove\",onMove);window.removeEventListener(\"scroll\",onScroll,{capture:true});window.removeEventListener(\"riso-audio\",onAudio);document.documentElement.removeEventListener(\"pointerleave\",onLeave);canvas.removeEventListener(\"webglcontextlost\",onLost);canvas.removeEventListener(\"webglcontextrestored\",onRestored);redrawRef.current=()=>{};};},[isCanvas,isStatic]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrapRef,style:{...p.style,position:\"relative\",width:\"100%\",height:\"100%\",minWidth:20,minHeight:20,overflow:\"hidden\",backgroundColor:p.paper},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\",pointerEvents:\"none\"}}),error&&isCanvas&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:12,bottom:12,padding:\"6px 10px\",borderRadius:6,font:\"12px/1.3 system-ui, sans-serif\",color:\"#fff\",background:\"rgba(0,0,0,0.6)\"},children:[\"Riso Halftone: \",error]})]});}RisoHalftone.displayName=\"Riso Halftone\";// ---------------------------------------------------------------------------\n// Property controls\n// ---------------------------------------------------------------------------\naddPropertyControls(RisoHalftone,{// Colours\npreset:{type:ControlType.Enum,defaultValue:\"custom\",title:\"Start From\",options:PRESET_KEYS,optionTitles:PRESET_KEYS.map(k=>k===\"custom\"?\"Custom\":PRESETS[k].label),description:\"Pick a palette, then use the overrides to swap any single colour. Custom: set every colour yourself.\"},paperOverride:{type:ControlType.Color,title:\"Paper Override\",optional:true,hidden:q=>!PRESETS[q.preset]},inkOverride:{type:ControlType.Color,title:\"Ink Override\",optional:true,hidden:q=>!PRESETS[q.preset]},ink2Override:{type:ControlType.Color,title:\"Ink 2 Override\",optional:true,description:\"Leave empty to keep the palette's colours.\",hidden:q=>!PRESETS[q.preset]},paper:{type:ControlType.Color,defaultValue:\"#FF8C47\",title:\"Paper\",hidden:q=>!!PRESETS[q.preset]},ink:{type:ControlType.Color,defaultValue:\"#5B6EE8\",title:\"Ink\",hidden:q=>!!PRESETS[q.preset]},// Screen\nshape:{type:ControlType.Enum,defaultValue:\"circle\",title:\"Dot\",options:SHAPES,optionTitles:[\"Circle\",\"Diamond\",\"Square\",\"Line\"],displaySegmentedControl:true},cellSize:{type:ControlType.Number,defaultValue:12,title:\"Cell\",min:3,max:80,step:1,unit:\"px\"},angle:{type:ControlType.Number,defaultValue:0,title:\"Angle\",min:0,max:90,step:1,unit:\"\\xb0\"},dotSize:{type:ControlType.Number,defaultValue:.62,title:\"Dot Max\",min:.2,max:.75,step:.01,description:\"Above 0.5 dots merge into solid ink.\"},// Pattern\nscale:{type:ControlType.Number,defaultValue:1.5,title:\"Blob Scale\",min:.3,max:8,step:.1},density:{type:ControlType.Number,defaultValue:.42,title:\"Density\",min:0,max:1,step:.01},contrast:{type:ControlType.Number,defaultValue:3.2,title:\"Contrast\",min:.5,max:6,step:.1},speed:{type:ControlType.Number,defaultValue:.25,title:\"Speed\",min:0,max:2,step:.01},drift:{type:ControlType.Number,defaultValue:.3,title:\"Drift\",min:0,max:2,step:.01},direction:{type:ControlType.Number,defaultValue:330,title:\"Direction\",min:0,max:360,step:1,unit:\"\\xb0\",description:\"0\\xb0 right, 90\\xb0 down. Also steers Wave.\"},seed:{type:ControlType.Number,defaultValue:1,title:\"Seed\",min:0,max:100,step:1,displayStepper:true},// Motion\nmode:{type:ControlType.Enum,defaultValue:\"flow\",title:\"Motion\",options:MODES,optionTitles:[\"Flow\",\"Ripple\",\"Wave\",\"Pulse\"]},frequency:{type:ControlType.Number,defaultValue:4,title:\"Frequency\",min:.5,max:20,step:.1,hidden:q=>q.mode!==\"ripple\"&&q.mode!==\"wave\"},wobble:{type:ControlType.Number,defaultValue:.4,title:\"Wobble\",min:0,max:1,step:.01,description:\"Bends rings and bands with organic noise.\",hidden:q=>q.mode!==\"ripple\"&&q.mode!==\"wave\"},originX:{type:ControlType.Number,defaultValue:50,title:\"Origin X\",min:0,max:100,step:1,unit:\"%\",description:\"Centre of Ripple motion and of beat ripples.\",hidden:q=>q.mode!==\"ripple\"&&!(q.audioReact&&q.audioStyle===\"ripple\")},originY:{type:ControlType.Number,defaultValue:50,title:\"Origin Y\",min:0,max:100,step:1,unit:\"%\",hidden:q=>q.mode!==\"ripple\"&&!(q.audioReact&&q.audioStyle===\"ripple\")},driver:{type:ControlType.Enum,defaultValue:\"time\",title:\"Driven By\",options:[\"time\",\"scroll\",\"both\"],optionTitles:[\"Time\",\"Scroll\",\"Both\"],displaySegmentedControl:true,description:\"Scroll moves the print as the page scrolls.\"},scrollAmount:{type:ControlType.Number,defaultValue:1.5,title:\"Scroll Amt\",min:.1,max:6,step:.1,hidden:q=>q.driver===\"time\"},// Second ink\nsecondInk:{type:ControlType.Boolean,defaultValue:false,title:\"2nd Ink\",enabledTitle:\"On\",disabledTitle:\"Off\",hidden:q=>!!PRESETS[q.preset]},ink2:{type:ControlType.Color,defaultValue:\"#FF4FA3\",title:\"Ink 2\",hidden:q=>!!PRESETS[q.preset]||!q.secondInk},angle2:{type:ControlType.Number,defaultValue:45,title:\"Angle 2\",min:0,max:90,step:1,unit:\"\\xb0\",hidden:q=>!(PRESETS[q.preset]?!!(PRESETS[q.preset].ink2||q.ink2Override):q.secondInk)},offsetX:{type:ControlType.Number,defaultValue:3,title:\"Misreg X\",min:-20,max:20,step:.5,unit:\"px\",hidden:q=>!(PRESETS[q.preset]?!!(PRESETS[q.preset].ink2||q.ink2Override):q.secondInk)},offsetY:{type:ControlType.Number,defaultValue:2,title:\"Misreg Y\",min:-20,max:20,step:.5,unit:\"px\",hidden:q=>!(PRESETS[q.preset]?!!(PRESETS[q.preset].ink2||q.ink2Override):q.secondInk)},variation:{type:ControlType.Number,defaultValue:0,title:\"Variation\",min:0,max:1,step:.01,description:\"0 = both inks print the same image.\",hidden:q=>!(PRESETS[q.preset]?!!(PRESETS[q.preset].ink2||q.ink2Override):q.secondInk)},overprint:{type:ControlType.Boolean,defaultValue:true,title:\"Overprint\",enabledTitle:\"Multiply\",disabledTitle:\"Off\",hidden:q=>!(PRESETS[q.preset]?!!(PRESETS[q.preset].ink2||q.ink2Override):q.secondInk)},// Texture\ngrain:{type:ControlType.Number,defaultValue:.25,title:\"Grain\",min:0,max:1,step:.01},// Interaction\ninteractive:{type:ControlType.Boolean,defaultValue:true,title:\"Cursor\",enabledTitle:\"On\",disabledTitle:\"Off\"},mouseRadius:{type:ControlType.Number,defaultValue:160,title:\"Radius\",min:20,max:600,step:5,unit:\"px\",hidden:q=>!q.interactive},mouseStrength:{type:ControlType.Number,defaultValue:.6,title:\"Strength\",min:-1,max:1,step:.01,description:\"Negative values clear ink away from the cursor.\",hidden:q=>!q.interactive},// Music\naudioReact:{type:ControlType.Boolean,defaultValue:true,title:\"Music\",enabledTitle:\"React\",disabledTitle:\"Off\",description:\"Follows any Riso Player on the page. No player, no effect.\"},audioStyle:{type:ControlType.Enum,defaultValue:\"jitter\",title:\"Reaction\",options:[\"jitter\",\"breathe\",\"ripple\"],optionTitles:[\"Jitter\",\"Breathe\",\"Ripple\"],displaySegmentedControl:true,description:\"Jitter: the print slips out of register on each beat (best with 2nd Ink). Breathe: dots swell. Ripple: rings spread from Origin.\",hidden:q=>!q.audioReact},audioAmount:{type:ControlType.Number,defaultValue:.5,title:\"Strength\",min:0,max:1,step:.01,description:\"How strongly the print reacts to each beat.\",hidden:q=>!q.audioReact},audioMotion:{type:ControlType.Number,defaultValue:.5,title:\"Flow Push\",min:0,max:2,step:.05,description:\"Louder passages flow faster (eased).\",hidden:q=>!q.audioReact},// Performance\nanimateOnCanvas:{type:ControlType.Boolean,defaultValue:false,title:\"Canvas Preview\",enabledTitle:\"Animate\",disabledTitle:\"Still\"},quality:{type:ControlType.Enum,defaultValue:\"standard\",title:\"Quality\",options:[\"low\",\"standard\",\"high\"],optionTitles:[\"Low\",\"Standard\",\"High\"],displaySegmentedControl:true,description:\"Caps pixel density. Low is kindest to phones.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RisoHalftone\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"600\",\"framerIntrinsicHeight\":\"800\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RisoHalftone.map"],"mappings":"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"}