shaders 2.0.0-alpha.11 → 2.0.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ import { BlendMode } from 'shaders-core';
3
+ import { ComponentProps } from 'shaders-core/mouseDistortion';
4
+
5
+ /**
6
+ * Define component props including blend mode, opacity, and masking
7
+ */
8
+ interface OmbreComponentProps extends Partial<ComponentProps> {
9
+ children?: React.ReactNode;
10
+ blendMode?: BlendMode;
11
+ opacity?: number;
12
+ id?: string;
13
+ maskSource?: string;
14
+ maskType?: string;
15
+ ref?: React.Ref<any>;
16
+ }
17
+ /**
18
+ * The main React wrapper component for Shader shader nodes
19
+ */
20
+ export declare const OmbreComponent: React.FC<OmbreComponentProps>;
21
+ export default OmbreComponent;
22
+ //# sourceMappingURL=MouseDistortion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MouseDistortion.d.ts","sourceRoot":"","sources":["../../src/components/MouseDistortion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAGH,KAAK,SAAS,EAIjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAIxF;;GAEG;AACH,UAAU,mBAAoB,SAAQ,OAAO,CAAC,cAAc,CAAC;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACxB;AAwCD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8IxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -164,5 +164,5 @@ ${r.tab}if ( ${u} ) {
164
164
  `,n+=r.flow.code.replace(/^\t/gm,"")+`
165
165
  `,n+="/* ... */ "+e+` /* ... */
166
166
  `,n+="// #"+i+`#
167
- `,t===null?console.log(n):t(r,n),e}};const Ait=(r,t=null)=>dt(new _it(dt(r),t));j("debug",Ait);const zit=Cs(([r])=>uz(r.rgb)),Cit=Cs(([r,t=Ti(1)])=>t.mix(uz(r.rgb),r.rgb)),Eit=Cs(([r,t=Ti(1)])=>{let e=XA(r.r,r.g,r.b).div(3),s=r.r.max(r.g.max(r.b)),i=s.sub(e).mul(t).mul(-3);return hm(r.rgb,s,i)}),Vit=Cs(([r,t=Ti(1)])=>{let e=ql(.57735,.57735,.57735),s=t.cos();return ql(r.rgb.mul(s).add(e.cross(r.rgb).mul(t.sin()).add(e.mul(Jh(e,r.rgb).mul(s.oneMinus())))))}),uz=(r,t=ql(Oe.getLuminanceCoefficients(new ei)))=>Jh(r,t),_l={name:"Grayscale",props:{},fragmentNode:({childNode:r})=>{let{vec4:t}=kr;if(!r)return console.error("You must pass a child component into the Grayscale shader."),t(0);let e=r||t(0,0,0,0);return t(zit(e.rgb).rgb,e.a)}};function Rit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const hz={blendMode:"normal",opacity:1};try{_l&&_l.props&&Object.entries(_l.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(hz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Iit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${_l.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Rit(r,hz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(_l,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,_l.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Al={name:"HueShift",props:{shift:{type:Number,default:0,description:"The amount to shift the hue by"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e}=kr;if(!t)return console.error("You must pass a child component into the Hue Shift shader."),e(0);let s=t||e(0,0,0,0);return e(Vit(s.rgb,r.shift.uniform).rgb,s.a)}};function Lit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const cz={blendMode:"normal",opacity:1};try{Al&&Al.props&&Object.entries(Al.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(cz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Pit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Al.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Lit(r,cz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Al,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Al.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},zl={name:"Invert",props:{},fragmentNode:({childNode:r})=>{let{vec4:t,vec3:e}=kr;if(!r)return console.error("You must pass a child component into the Invert shader."),t(0);let s=r||t(0,0,0,0);return t(e(1,1,1).sub(s.rgb),s.a)}};function Fit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const dz={blendMode:"normal",opacity:1};try{zl&&zl.props&&Object.entries(zl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(dz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Oit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${zl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Fit(r,dz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(zl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,zl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Cl={name:"LinearGradient",props:{startColor:{type:String,default:"#1aff00",transform:Qi,description:"The starting color of the gradient"},endColor:{type:String,default:"#0000ff",transform:Qi,description:"The ending color of the gradient"},angle:{type:Number,default:0,description:"rotation angle in degrees (0-360, where 0 = left-to-right)"},center:{type:Object,default:{x:.5,y:.5},transform:m0},autoRotate:{type:Boolean,default:!1,description:"Enable automatic rotation of the gradient"},autoRotateSpeed:{type:Number,default:1,description:"Speed of the automatic rotation in degrees per second"}},fragmentNode:({uniforms:r,onBeforeRender:t})=>{let{vec2:e,mix:s,float:i,cos:n,sin:a,dot:o,radians:l,viewportUV:h,abs:u,div:c,uniform:d}=kr,p=d(0);t(({deltaTime:tt})=>{if(r.autoRotate.uniform.value){let nt=r.autoRotateSpeed.uniform.value*tt*100;p.value=(p.value+nt)%360}});let m=r.angle.uniform.add(p),f=l(m),x=n(f),b=a(f),w=e(x,b),S=e(r.center.uniform[0],r.center.uniform[1]),_=h.sub(S),E=o(_,w),z=i(.5).mul(u(x).add(u(b))),A=c(E,z.max(1e-6)),L=A.mul(.5).add(.5).clamp(i(0),i(1));return s(r.startColor.uniform,r.endColor.uniform,L)}};function kit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const pz={blendMode:"normal",opacity:1};try{Cl&&Cl.props&&Object.entries(Cl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(pz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Bit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Cl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>kit(r,pz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Cl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Cl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},El={name:"MouseDistortion",props:{distortionRadius:{type:Number,default:.2,description:"Radius of the distortion effect (0-1)"},distortionStrength:{type:Number,default:.1,description:"Strength of the distortion (0-1)"},smoothing:{type:Number,default:.85,description:"Smoothing factor for mouse movement (0-1, higher = smoother)"}},fragmentNode:({uniforms:r,onBeforeRender:t,childNode:e})=>{let{vec2:s,vec4:i,float:n,uniform:a,length:o,smoothstep:l,screenUV:h,convertToTexture:u}=kr;if(!e)return console.warn("MouseDistortion: No child node provided"),i(0,0,0,0);let c=u(e),d=a(.5),p=a(.5),m=a(0),f=a(0),x=.5,b=.5,w=.5,S=.5,_=0,E=0;t(({pointer:ct,deltaTime:St})=>{let ur=(ct.x-x)/St,Dr=(ct.y-b)/St,ri=r.smoothing.uniform.value,Ur=w+(ct.x-w)*(1-ri),Sx=S+(ct.y-S)*(1-ri),_x=_+(ur-_)*(1-ri),Ax=E+(Dr-E)*(1-ri);d.value=Ur,p.value=Sx,m.value=_x,f.value=Ax,x=ct.x,b=ct.y,w=Ur,S=Sx,_=_x,E=Ax});let z=h,A=s(d,p),L=z.sub(A),tt=o(L),nt=r.distortionRadius.uniform,it=l(nt,n(0),tt),vt=s(m,f),ht=r.distortionStrength.uniform,Rt=it.mul(ht).mul(n(.5)),zt=L.mul(Rt),Bt=n(2),Kt=vt.mul(Bt).mul(it).mul(ht),Jt=zt.add(Kt),gt=z.sub(Jt);return c.sample(gt)}};function Dit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const mz={blendMode:"normal",opacity:1};try{El&&El.props&&Object.entries(El.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(mz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Uit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${El.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Dit(r,mz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(El,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,El.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})};var $it=class extends as{static get type(){return"PosterizeNode"}constructor(r,t){super(),this.sourceNode=r,this.stepsNode=t}setup(){let{sourceNode:r,stepsNode:t}=this;return r.mul(t).floor().div(t)}};const jit=et($it).setParameterLength(2),Vl={name:"Posterize",props:{intensity:{type:Number,default:5,description:"The intensity of the posterization effect (lower is more posterized)"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e,int:s}=kr;if(!t)return console.error("You must pass a child component into the Posterize shader."),e(0);let i=t||e(0,0,0,0);return jit(i,s(r.intensity.uniform))}};function Wit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const fz={blendMode:"normal",opacity:1};try{Vl&&Vl.props&&Object.entries(Vl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(fz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const qit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Vl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Wit(r,fz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Vl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Vl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Rl={name:"Saturation",props:{intensity:{type:Number,default:1,description:"The intensity of the saturation effect (1 being no change)"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e}=kr;if(!t)return console.error("You must pass a child component into the Saturation shader."),e(0);let s=t||e(0,0,0,0);return e(Cit(s.rgb,r.intensity.uniform).rgb,s.a)}};function Hit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const gz={blendMode:"normal",opacity:1};try{Rl&&Rl.props&&Object.entries(Rl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(gz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Git=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Rl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Hit(r,gz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Rl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Rl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Il={name:"SolidColor",props:{color:{type:String,default:"#5b18ca",transform:Qi,description:"The solid color to display"}},fragmentNode:({uniforms:r})=>r.color.uniform};function Xit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const yz={blendMode:"normal",opacity:1};try{Il&&Il.props&&Object.entries(Il.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(yz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Yit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Il.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Xit(r,yz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Il,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Il.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Ll={name:"Swirl",props:{colorA:{type:String,default:"#1275d8",description:"Primary gradient color",transform:Qi},colorB:{type:String,default:"#e19136",description:"Secondary gradient color",transform:Qi},colorC:{type:String,default:"#320485",description:"Accent gradient color",transform:Qi},speed:{type:Number,default:1,description:"Flow animation speed"},scale:{type:Number,default:5,description:"Gradient scale"},complexity:{type:Number,default:5,description:"Flow complexity"}},fragmentNode:({uniforms:r})=>{let t=kp(),e=n0.mul(r.speed.uniform),s=r.scale.uniform,i=r.complexity.uniform,n=kn(t.x.mul(s.mul(1.2)).add(e.mul(.8))).mul(.3),a=Sd(t.y.mul(s.mul(.9)).sub(e.mul(.6))).mul(.3),o=Bp(t.x.add(kn(t.y.mul(i.mul(2)).add(e)).mul(.08)),t.y.add(Sd(t.x.mul(i.mul(1.5)).sub(e.mul(.7))).mul(.08))),l=kn(o.x.mul(s.mul(3)).add(o.y.mul(s.mul(2))).add(e.mul(.5))),h=Sd(o.x.sub(o.y).mul(s.mul(2.5)).add(e.mul(.3))),u=kn(o.x.mul(i).add(n).add(o.y.mul(i.mul(.8)).add(a)).add(e.mul(.4))),c=dl(l,h,u.mul(.5).add(.5)),d=o.x.mul(.7).add(o.y.mul(.3)).add(c.mul(.2)),p=dl(r.colorA.uniform,r.colorB.uniform,Xd(.1,.6,d)),m=dl(p,r.colorC.uniform,Xd(.4,.9,d.add(u.mul(.3)))),f=kn(e.mul(3).add(d.mul(10))).mul(.02).add(1),x=m.mul(f);return pl(x,1)}};function Zit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const xz={blendMode:"normal",opacity:1};try{Ll&&Ll.props&&Object.entries(Ll.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(xz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Jit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Ll.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Zit(r,xz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Ll,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Ll.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Pl={name:"Twirl",props:{center:{type:Object,default:{x:.5,y:.5},transform:m0,description:"The center point of the twirl effect"},intensity:{type:Number,default:1,description:"The strength of the twirl effect"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec2:e,vec4:s,cos:i,sin:n,length:a,uv:o,convertToTexture:l}=kr;if(!t)return console.error("You must pass a child component into the Twirl shader."),s(0);let h=l(t),u=o(),c=e(r.center.uniform.x,r.center.uniform.y),d=u.sub(c),p=r.intensity.uniform.mul(a(d)),m=i(p),f=n(p),x=m.mul(d.x).sub(f.mul(d.y)),b=f.mul(d.x).add(m.mul(d.y)),w=e(x.add(c.x),b.add(c.y));return s(h.sample(w))}};function Qit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const bz={blendMode:"normal",opacity:1};try{Pl&&Pl.props&&Object.entries(Pl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(bz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Kit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Pl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Qit(r,bz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Pl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Pl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Fl={name:"Vibrance",props:{intensity:{type:Number,default:0,description:"The intensity of the vibrance effect"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e}=kr;if(!t)return console.error("You must pass a child component into the Vibrance shader."),e(0);let s=t||e(0,0,0,0);return e(Eit(s.rgb,r.intensity.uniform).rgb,s.a)}};function tnt(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const vz={blendMode:"normal",opacity:1};try{Fl&&Fl.props&&Object.entries(Fl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(vz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const ent=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Fl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>tnt(r,vz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Fl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Fl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})};exports.Circle=Vtt;exports.DotGrid=Itt;exports.FilmGrain=Ptt;exports.GlassTiles=Ott;exports.Grayscale=Iit;exports.HueShift=Pit;exports.Invert=Oit;exports.LinearGradient=Bit;exports.MouseDistortion=Uit;exports.Posterize=qit;exports.Saturation=Git;exports.Shader=Ctt;exports.SolidColor=Yit;exports.Swirl=Jit;exports.Twirl=Kit;exports.Vibrance=ent;
167
+ `,t===null?console.log(n):t(r,n),e}};const Ait=(r,t=null)=>dt(new _it(dt(r),t));j("debug",Ait);const zit=Cs(([r])=>uz(r.rgb)),Cit=Cs(([r,t=Ti(1)])=>t.mix(uz(r.rgb),r.rgb)),Eit=Cs(([r,t=Ti(1)])=>{let e=XA(r.r,r.g,r.b).div(3),s=r.r.max(r.g.max(r.b)),i=s.sub(e).mul(t).mul(-3);return hm(r.rgb,s,i)}),Vit=Cs(([r,t=Ti(1)])=>{let e=ql(.57735,.57735,.57735),s=t.cos();return ql(r.rgb.mul(s).add(e.cross(r.rgb).mul(t.sin()).add(e.mul(Jh(e,r.rgb).mul(s.oneMinus())))))}),uz=(r,t=ql(Oe.getLuminanceCoefficients(new ei)))=>Jh(r,t),_l={name:"Grayscale",props:{},fragmentNode:({childNode:r})=>{let{vec4:t}=kr;if(!r)return console.error("You must pass a child component into the Grayscale shader."),t(0);let e=r||t(0,0,0,0);return t(zit(e.rgb).rgb,e.a)}};function Rit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const hz={blendMode:"normal",opacity:1};try{_l&&_l.props&&Object.entries(_l.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(hz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Iit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${_l.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Rit(r,hz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(_l,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,_l.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Al={name:"HueShift",props:{shift:{type:Number,default:0,description:"The amount to shift the hue by"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e}=kr;if(!t)return console.error("You must pass a child component into the Hue Shift shader."),e(0);let s=t||e(0,0,0,0);return e(Vit(s.rgb,r.shift.uniform).rgb,s.a)}};function Lit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const cz={blendMode:"normal",opacity:1};try{Al&&Al.props&&Object.entries(Al.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(cz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Pit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Al.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Lit(r,cz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Al,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Al.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},zl={name:"Invert",props:{},fragmentNode:({childNode:r})=>{let{vec4:t,vec3:e}=kr;if(!r)return console.error("You must pass a child component into the Invert shader."),t(0);let s=r||t(0,0,0,0);return t(e(1,1,1).sub(s.rgb),s.a)}};function Fit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const dz={blendMode:"normal",opacity:1};try{zl&&zl.props&&Object.entries(zl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(dz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Oit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${zl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Fit(r,dz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(zl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,zl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Cl={name:"LinearGradient",props:{startColor:{type:String,default:"#1aff00",transform:Qi,description:"The starting color of the gradient"},endColor:{type:String,default:"#0000ff",transform:Qi,description:"The ending color of the gradient"},angle:{type:Number,default:0,description:"rotation angle in degrees (0-360, where 0 = left-to-right)"},center:{type:Object,default:{x:.5,y:.5},transform:m0},autoRotate:{type:Boolean,default:!1,description:"Enable automatic rotation of the gradient"},autoRotateSpeed:{type:Number,default:1,description:"Speed of the automatic rotation in degrees per second"}},fragmentNode:({uniforms:r,onBeforeRender:t})=>{let{vec2:e,mix:s,float:i,cos:n,sin:a,dot:o,radians:l,viewportUV:h,abs:u,div:c,uniform:d}=kr,p=d(0);t(({deltaTime:tt})=>{if(r.autoRotate.uniform.value){let nt=r.autoRotateSpeed.uniform.value*tt*100;p.value=(p.value+nt)%360}});let m=r.angle.uniform.add(p),f=l(m),x=n(f),b=a(f),w=e(x,b),S=e(r.center.uniform[0],r.center.uniform[1]),_=h.sub(S),E=o(_,w),z=i(.5).mul(u(x).add(u(b))),A=c(E,z.max(1e-6)),L=A.mul(.5).add(.5).clamp(i(0),i(1));return s(r.startColor.uniform,r.endColor.uniform,L)}};function kit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const pz={blendMode:"normal",opacity:1};try{Cl&&Cl.props&&Object.entries(Cl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(pz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Bit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Cl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>kit(r,pz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Cl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Cl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},El={name:"MouseDistortion",props:{distortionRadius:{type:Number,default:.2,description:"Radius of the distortion effect (0-1)"},distortionStrength:{type:Number,default:.1,description:"Strength of the distortion (0-1)"},smoothing:{type:Number,default:.85,description:"Smoothing factor for mouse movement (0-1, higher = smoother)"}},fragmentNode:({uniforms:r,onBeforeRender:t,childNode:e})=>{let{vec2:s,vec4:i,float:n,uniform:a,length:o,smoothstep:l,uv:h,convertToTexture:u}=kr;if(!e)return console.warn("MouseDistortion: No child node provided"),i(0,0,0,0);let c=u(e),d=a(.5),p=a(.5),m=a(0),f=a(0),x=.5,b=.5,w=.5,S=.5,_=0,E=0;t(({pointer:ct,deltaTime:St})=>{let ur=(ct.x-x)/St,Dr=(ct.y-b)/St,ri=r.smoothing.uniform.value,Ur=w+(ct.x-w)*(1-ri),Sx=S+(ct.y-S)*(1-ri),_x=_+(ur-_)*(1-ri),Ax=E+(Dr-E)*(1-ri);d.value=Ur,p.value=Sx,m.value=_x,f.value=Ax,x=ct.x,b=ct.y,w=Ur,S=Sx,_=_x,E=Ax});let z=h(),A=s(d,p),L=z.sub(A),tt=o(L),nt=r.distortionRadius.uniform,it=l(nt,n(0),tt),vt=s(m,f),ht=r.distortionStrength.uniform,Rt=it.mul(ht).mul(n(.5)),zt=L.mul(Rt),Bt=n(2),Kt=vt.mul(Bt).mul(it).mul(ht),Jt=zt.add(Kt),gt=z.sub(Jt);return c.sample(gt)}};function Dit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const mz={blendMode:"normal",opacity:1};try{El&&El.props&&Object.entries(El.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(mz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Uit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${El.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Dit(r,mz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(El,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,El.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})};var $it=class extends as{static get type(){return"PosterizeNode"}constructor(r,t){super(),this.sourceNode=r,this.stepsNode=t}setup(){let{sourceNode:r,stepsNode:t}=this;return r.mul(t).floor().div(t)}};const jit=et($it).setParameterLength(2),Vl={name:"Posterize",props:{intensity:{type:Number,default:5,description:"The intensity of the posterization effect (lower is more posterized)"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e,int:s}=kr;if(!t)return console.error("You must pass a child component into the Posterize shader."),e(0);let i=t||e(0,0,0,0);return jit(i,s(r.intensity.uniform))}};function Wit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const fz={blendMode:"normal",opacity:1};try{Vl&&Vl.props&&Object.entries(Vl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(fz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const qit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Vl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Wit(r,fz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Vl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Vl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Rl={name:"Saturation",props:{intensity:{type:Number,default:1,description:"The intensity of the saturation effect (1 being no change)"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e}=kr;if(!t)return console.error("You must pass a child component into the Saturation shader."),e(0);let s=t||e(0,0,0,0);return e(Cit(s.rgb,r.intensity.uniform).rgb,s.a)}};function Hit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const gz={blendMode:"normal",opacity:1};try{Rl&&Rl.props&&Object.entries(Rl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(gz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Git=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Rl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Hit(r,gz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Rl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Rl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Il={name:"SolidColor",props:{color:{type:String,default:"#5b18ca",transform:Qi,description:"The solid color to display"}},fragmentNode:({uniforms:r})=>r.color.uniform};function Xit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const yz={blendMode:"normal",opacity:1};try{Il&&Il.props&&Object.entries(Il.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(yz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Yit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Il.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Xit(r,yz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Il,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Il.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Ll={name:"Swirl",props:{colorA:{type:String,default:"#1275d8",description:"Primary gradient color",transform:Qi},colorB:{type:String,default:"#e19136",description:"Secondary gradient color",transform:Qi},colorC:{type:String,default:"#320485",description:"Accent gradient color",transform:Qi},speed:{type:Number,default:1,description:"Flow animation speed"},scale:{type:Number,default:5,description:"Gradient scale"},complexity:{type:Number,default:5,description:"Flow complexity"}},fragmentNode:({uniforms:r})=>{let t=kp(),e=n0.mul(r.speed.uniform),s=r.scale.uniform,i=r.complexity.uniform,n=kn(t.x.mul(s.mul(1.2)).add(e.mul(.8))).mul(.3),a=Sd(t.y.mul(s.mul(.9)).sub(e.mul(.6))).mul(.3),o=Bp(t.x.add(kn(t.y.mul(i.mul(2)).add(e)).mul(.08)),t.y.add(Sd(t.x.mul(i.mul(1.5)).sub(e.mul(.7))).mul(.08))),l=kn(o.x.mul(s.mul(3)).add(o.y.mul(s.mul(2))).add(e.mul(.5))),h=Sd(o.x.sub(o.y).mul(s.mul(2.5)).add(e.mul(.3))),u=kn(o.x.mul(i).add(n).add(o.y.mul(i.mul(.8)).add(a)).add(e.mul(.4))),c=dl(l,h,u.mul(.5).add(.5)),d=o.x.mul(.7).add(o.y.mul(.3)).add(c.mul(.2)),p=dl(r.colorA.uniform,r.colorB.uniform,Xd(.1,.6,d)),m=dl(p,r.colorC.uniform,Xd(.4,.9,d.add(u.mul(.3)))),f=kn(e.mul(3).add(d.mul(10))).mul(.02).add(1),x=m.mul(f);return pl(x,1)}};function Zit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const xz={blendMode:"normal",opacity:1};try{Ll&&Ll.props&&Object.entries(Ll.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(xz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Jit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Ll.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Zit(r,xz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Ll,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Ll.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Pl={name:"Twirl",props:{center:{type:Object,default:{x:.5,y:.5},transform:m0,description:"The center point of the twirl effect"},intensity:{type:Number,default:1,description:"The strength of the twirl effect"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec2:e,vec4:s,cos:i,sin:n,length:a,uv:o,convertToTexture:l}=kr;if(!t)return console.error("You must pass a child component into the Twirl shader."),s(0);let h=l(t),u=o(),c=e(r.center.uniform.x,r.center.uniform.y),d=u.sub(c),p=r.intensity.uniform.mul(a(d)),m=i(p),f=n(p),x=m.mul(d.x).sub(f.mul(d.y)),b=f.mul(d.x).add(m.mul(d.y)),w=e(x.add(c.x),b.add(c.y));return s(h.sample(w))}};function Qit(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const bz={blendMode:"normal",opacity:1};try{Pl&&Pl.props&&Object.entries(Pl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(bz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const Kit=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Pl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>Qit(r,bz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Pl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Pl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})},Fl={name:"Vibrance",props:{intensity:{type:Number,default:0,description:"The intensity of the vibrance effect"}},fragmentNode:({uniforms:r,childNode:t})=>{let{vec4:e}=kr;if(!t)return console.error("You must pass a child component into the Vibrance shader."),e(0);let s=t||e(0,0,0,0);return e(Eit(s.rgb,r.intensity.uniform).rgb,s.a)}};function tnt(r,t){let e={...t};for(const[s,i]of Object.entries(r))s!=="children"&&s!=="ref"&&i!==void 0&&(e[s]=i);return e}const vz={blendMode:"normal",opacity:1};try{Fl&&Fl.props&&Object.entries(Fl.props).forEach(([r,t])=>{const e=t;e&&typeof e=="object"&&"default"in e&&(vz[r]=e.default)})}catch(r){console.warn("Error extracting default props:",r)}const ent=r=>{const t=H.useContext(Ft);if(!t)throw new Error("Shader components must be used inside an <Shader> component or another shader component");const{ombreParentId:e,ombreNodeRegister:s,ombreUniformUpdate:i,ombreMetadataUpdate:n}=t,a=H.useMemo(()=>r.id||`${Fl.name.toLowerCase()}_${Math.random().toString(36).substring(7)}`,[r.id]),o=H.useMemo(()=>tnt(r,vz),[r]),l=H.useRef(null);l.current===null&&(l.current=Sr.createUniformsMap(Fl,o,a));const h=H.useMemo(()=>({...t,ombreParentId:a}),[t,a]);if(H.useEffect(()=>{if(l.current)try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};return s(a,Fl.fragmentNode,e,u,l.current),()=>{s(a,null,null,null,null)}}catch(u){return console.error("Error registering shader node:",u),()=>{}}},[a,e,s,r.blendMode,r.opacity,r.id,r.maskSource,r.maskType]),H.useEffect(()=>{if(l.current)try{Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u];d.value=p?p(m):m}}),Object.entries(l.current).forEach(([u,c])=>{if(!c||typeof c!="object")return;const{uniform:d,transform:p}=c;if(d?.value!==void 0&&u in o){const m=o[u],f=p?p(m):m;i(a,u,f)}})}catch(u){console.error("Error updating uniforms:",u)}},[o,a,i]),H.useEffect(()=>{try{const u={blendMode:r.blendMode||"normal",opacity:r.opacity??1,id:r.id,mask:r.maskSource?{source:r.maskSource,type:r.maskType||"alpha"}:void 0,renderOrder:0};n(a,u)}catch(u){console.error("Error updating metadata:",u)}},[r.blendMode,r.opacity,r.maskSource,r.maskType,r.id,a,n]),r.ref&&typeof r.ref=="function")try{r.ref(null)}catch{}return lr.jsx(Ft.Provider,{value:h,children:r.children})};exports.Circle=Vtt;exports.DotGrid=Itt;exports.FilmGrain=Ptt;exports.GlassTiles=Ott;exports.Grayscale=Iit;exports.HueShift=Pit;exports.Invert=Oit;exports.LinearGradient=Bit;exports.MouseDistortion=Uit;exports.Posterize=qit;exports.Saturation=Git;exports.Shader=Ctt;exports.SolidColor=Yit;exports.Swirl=Jit;exports.Twirl=Kit;exports.Vibrance=ent;
168
168
  //# sourceMappingURL=index.cjs.map