tsl-textures 3.0.1 → 3.0.4

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.
@@ -1,2 +1,2 @@
1
- /*! TSL Textures v3.0.0 */
2
- import{Fn as e,vec3 as a,sub as t,transformNormalToView as o,cross as n,remap as s,pow as r,mul as l,log2 as i,min as m,max as u,float as c,add as d,If as p,select as y,sin as v,cos as f,rotate as g,smoothstep as b,mx_fractal_noise_float as w,mix as V,mx_noise_float as h,time as x,positionGeometry as k,or as z,acos as L,clamp as A,exp as R,normalLocal as M,tangentLocal as $,int as S,Loop as P,oneMinus as C,abs as I,equirectUV as T,screenSize as W,exp2 as E,div as B,round as _,remapClamp as q,screenUV as N,sqrt as D,mat2 as F,mod as G,distance as j,radians as Y,matcapUV as U,mx_worley_noise_float as H,sign as J,tan as O,floor as K,screenCoordinate as X,reciprocal as Z,vec2 as Q,mx_worley_noise_vec2 as ee,mx_fractal_noise_vec3 as ae,mx_worley_noise_vec3 as te}from"three/tsl";export{mx_fractal_noise_float as fractal,mx_fractal_noise_vec3 as fractal3,mx_noise_float as noise,mx_worley_noise_float as voronoi,mx_worley_noise_vec2 as voronoi2,mx_worley_noise_vec3 as voronoi3}from"three/tsl";import{Color as oe,Vector3 as ne,Vector2 as se}from"three";const re=e((([e])=>e.dot(a(12.9898,78.233,-97.5123)).sin().mul(43758.5453).fract().mul(2).sub(1))).setLayout({name:"vnoise",type:"float",inputs:[{name:"v",type:"vec3"}]}),le=e((([e,a,s])=>{var r=t(a,e),l=t(s,e);return o(n(r,l).normalize())})).setLayout({name:"approximateNormal",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"posU",type:"vec3"},{name:"posV",type:"vec3"}]}),ie=e((([e,a,t,o,n])=>(e=s(e,a,t,0,1),e=r(2,l(e,i(n.div(o))).add(i(o)))))).setLayout({name:"remapExp",type:"float",inputs:[{name:"x",type:"float"},{name:"fromMin",type:"float"},{name:"fromMax",type:"float"},{name:"toMin",type:"float"},{name:"toMax",type:"float"}]});var me=null,ue=10;async function ce(){if(null!=navigator.gpu&&await navigator.gpu.requestAdapter())return;(me=document.createElement("div")).innerHTML='\n\t<div style="font-size:1.25em; font-weight:bold;">PLEASE, WAIT</div>\n\t<div style="font-size:0.85em; font-weight:100;" >NO WEBGPU &mdash; TRYING WEBGL2</div>\n\t<div id="counter"></div>\n\t',me.style.left="calc(50% - 8em)",me.style.width="16em",me.style.fontFamily="Bahnschrifts, Arial",me.style.position="absolute",me.style.bottom="20px",me.style.padding="12px 6px",me.style.border="1px solid white",me.style.borderRadius="4px",me.style.background="rgba(0,0,0,0.5)",me.style.color="white",me.style.textAlign="center",me.style.opacity="0.8",me.style.outline="none",me.style.zIndex="999",document.body.appendChild(me)}function de(){me&&(ue>0?ue--:(me.style.display="none",me=null))}const pe=e((([e,a,o,n])=>{var s=n.add(e.mul(12)).mod(12),r=a.mul(m(o,t(1,o)));return o.sub(r.mul(u(-1,m(m(s.sub(3),t(9,s)),1))))})).setLayout({name:"hslHelper",type:"float",inputs:[{name:"h",type:"float"},{name:"s",type:"float"},{name:"l",type:"float"},{name:"n",type:"float"}]}),ye=e((([e])=>{var t=e.x.fract().add(1).fract(),o=e.y.clamp(0,1),n=e.z.clamp(0,1),s=pe(t,o,n,0),r=pe(t,o,n,8),l=pe(t,o,n,4);return a(s,r,l)})).setLayout({name:"hsl",type:"vec3",inputs:[{name:"col",type:"vec3"}]}),ve=e((([e])=>{var o=c(e.x).toVar(),n=c(e.y).toVar(),s=c(e.z).toVar(),r=u(o,u(n,s)).toVar(),l=m(o,m(n,s)).toVar(),i=c(0).toVar(),v=c(0).toVar(),f=d(r,l).div(2);return p(l.notEqual(r),(()=>{const e=t(r,l).toVar();v.assign(y(f.lessThanEqual(.5),e.div(d(l,r)),e.div(t(2,d(l,r))))),p(r.equal(o),(()=>{i.assign(t(n,s).div(e).add(y(n.lessThanEqual(s),6,0)))})).ElseIf(r.equal(n),(()=>{i.assign(t(s,o).div(e).add(2))})).Else((()=>{i.assign(t(o,n).div(e).add(4))})),i.divAssign(6)})),a(i,v,f)}));ve.setLayout({name:"toHsl",type:"vec3",inputs:[{name:"rgb",type:"vec3"}]});const fe=e((([e,t])=>a(v(t).mul(v(e)),f(e),f(t).mul(v(e))))).setLayout({name:"spherical",type:"vec3",inputs:[{name:"phi",type:"float"},{name:"theta",type:"float"}]}),ge=e((([e,a,t])=>g(e.sub(a),t).add(a))).setLayout({name:"rotatePivot",type:"vec3",inputs:[{name:"vector",type:"vec3"},{name:"pivot",type:"vec3"},{name:"angle",type:"vec3"}]}),be=e((([e,a,t,o])=>{var n=fe(a.x,a.y).mul(o).toVar(),s=t.sub(n.div(2)).sub(e).dot(n).div(n.dot(n)).negate();return b(0,1,s)})).setLayout({name:"selectPlanar",type:"float",inputs:[{name:"pos",type:"vec3"},{name:"selAngles",type:"vec2"},{name:"selCenter",type:"vec3"},{name:"selWidth",type:"float"}]});var we={$name:"Brain",position:k,scale:2,smooth:.5,wave:.5,speed:2.5,time:x,color:new oe(16765136),background:new oe(5242880),seed:0},Ve=e((([e,a,t,o,n,s])=>{var r=e.mul(a.div(3).exp()).add(s).toVar("pos"),l=t.oneMinus().mul(2).exp().toVar("octaves"),i=w(r.mul(5),l).add(1).div(2).clamp(0,1).pow(2);return V(o,n,i)})).setLayout({name:"brainRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"xsmooth",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]}),he=e((([e,t,o,n,s,r,l])=>{var i=e.mul(t.div(3).exp()).add(l).toVar("pos"),m=o.oneMinus().mul(2).exp().toVar("octaves");const u=.01;var c=w(i.mul(5),m).toVar("n"),d=w(i.add(a(u,0,0)).mul(5),m).sub(c).div(u).toVar("dx"),p=w(i.add(a(0,u,0)).mul(5),m).sub(c).div(u).toVar("dy"),y=h(i.mul(n,5)).add(1).div(2).mul(6.28).toVar("dTime");return a(d,p,r.mul(s).add(y).sin().add(c,1)).normalize()})).setLayout({name:"brainNormalRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"xsmooth",type:"float"},{name:"wave",type:"float"},{name:"speed",type:"float"},{name:"time",type:"float"},{name:"seed",type:"float"}]});function xe(e={}){var{position:a,scale:t,smooth:o,color:n,background:s,seed:r}={...we,...e};return Ve(a,t,o,n,s,r)}xe.normal=function(e={}){var{position:a,scale:t,smooth:o,wave:n,speed:s,time:r,seed:l}={...we,...e};return he(a,t,o,n,s,r,l)},xe.defaults=we;var ke={$name:"Camouflage",position:k,scale:2,colorA:new oe(12762792),colorB:new oe(10258782),colorC:new oe(9610101),colorD:new oe(7435617),seed:0},ze=e((([e,a,t,o,n,s,r])=>{var l=e.mul(a.exp()).add(r).toVar("pos"),i=s.toVar("color");return p(h(l).greaterThanEqual(.3),(()=>{i.assign(t)})).ElseIf(h(l.yzx).greaterThanEqual(.2),(()=>{i.assign(o)})).ElseIf(h(l.zxy).greaterThanEqual(.1),(()=>{i.assign(n)})),i})).setLayout({name:"camouflageRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"},{name:"colorC",type:"vec3"},{name:"colorD",type:"vec3"},{name:"seed",type:"float"}]});function Le(e={}){var{position:a,scale:t,colorA:o,colorB:n,colorC:s,colorD:r,seed:l}={...ke,...e};return ze(a,t,o,n,s,r,l)}Le.defaults=ke;var Ae={$name:"Cave art",position:k,scale:2,thinness:2,noise:.3,color:new oe(13845829),background:new oe(16775408),seed:0},Re=e((([e,a,t,o,n,s,r])=>{var l=e.mul(a.exp()).add(r).toVar("pos");t=c(3).sub(t).exp();var i=h(l,4).sin().toVar("k1"),m=h(l.mul(1.5),4).cos().toVar("k2"),u=t.sub(i.add(m).abs().pow2().mul(20)).toVar("k");return p(z(i.greaterThan(m),u.lessThan(0)),(()=>{u.assign(0)})),p(u.lessThanEqual(0),(()=>{u.assign(o.mul(h(l.mul(30)).pow2()))})),V(s,n,u)})).setLayout({name:"caveArtRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Me(e={}){var{position:a,scale:t,thinness:o,noise:n,color:s,background:r,seed:l}={...Ae,...e};return Re(a,t,o,n,s,r,l)}Me.defaults=Ae;var $e={$name:"Circles",position:k,scale:2,variety:1,color:new oe(15786192),seed:0},Se=e((([e,t,o,n,s])=>{for(var r=e.toVar(),l=L(A(r.y,-1,1)).mul(20).div(3e3).mul(R(t.sub(1))),i=s.sin().mul(100).toVar(),m=0;m<=10;m++)i.addAssign(v(l.mul(2**m).sub(Math.PI*m/2)).mul(-m*(m+1)/2));i.assign(i.div(200).clamp(-2,2));var u=ve(n),c=u.x.add(i.mul(o)).mod(1).mul(10),d=c.floor(),p=c.sub(d);return p=y(p.lessThan(.5),p.pow(1.5),p.pow(1/1.5)),ye(a(d.add(p).div(10),u.yz))})).setLayout({name:"circlesRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"variety",type:"float"},{name:"color",type:"vec3"},{name:"seed",type:"float"}]});function Pe(e={}){var{position:a,scale:t,variety:o,color:n,seed:s}={...$e,...e};return Se(a,t,o,n,s)}Pe.defaults=$e;var Ce={$name:"Clouds",position:k,scale:2,density:.5,opacity:1,color:new oe(16777215),subcolor:new oe(10526896),seed:0},Ie=e((([e,a,t,o])=>{const n=e.mul(R(a.div(1.5).sub(.5))).add(o).toVar("pos");return w(n,4).add(t.remap(0,1,-.5,1.5))})).setLayout({name:"cloud_core",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"seed",type:"float"}]}),Te=e((([e,a,t,o,n,s])=>{var r=Ie(e,a,t,s);return V(n,o,r.clamp(0,1))})).setLayout({name:"cloudsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"color",type:"vec3"},{name:"subcolor",type:"vec3"},{name:"seed",type:"float"}]}),We=e((([e,a,t,o,n])=>{var s=Ie(e,a,t,n);return A(0,1,l(s,2).pow(1.5).sub(1).mul(o))})).setLayout({name:"cloudsOpacityRaw",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"opacity",type:"float"},{name:"seed",type:"float"}]});function Ee(e={}){var{position:a,scale:t,density:o,color:n,subcolor:s,seed:r}={...Ce,...e};return Te(a,t,o,n,s,r)}Ee.opacity=function(e={}){var{position:a,scale:t,density:o,opacity:n,seed:s}={...Ce,...e};return We(a,t,o,n,s)},Ee.defaults=Ce;var Be={$name:"Concrete",$normalNode:!0,position:k,scale:2,density:.5,bump:.5,seed:0},_e=e((([e,a,t])=>{var o=h(e,.5,.5).abs().pow(t);return e.add(a.mul(o))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"density",type:"float"}]}),qe=e((([e,t,o,r,l,i,m])=>{var u=a(1,2,3).mul(m).sin().mul(100).toVar("seed3d"),c=e.mul(R(r.div(2).add(2))).add(u).toVar("xposition"),d=t.normalize().toVar("xnormal"),p=o.normalize().mul(.001).toVar("xtangent"),y=n(d,p).normalize().mul(.001).toVar("xbitangent"),v=s(l,0,1,10,.5).toVar("xdensity");d.mulAssign(i);var f=_e(c,d,v).toVar("pos"),g=_e(c.add(p),d,v).toVar("posU"),b=_e(c.add(y),d,v).toVar("posV");return le(f,g,b)})).setLayout({name:"concreteRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"bump",type:"float"},{name:"seed",type:"float"}]});function Ne(e={}){var{position:a,scale:t,density:o,bump:n,seed:s}={...Be,...e};return qe(a,M,$,t,o,n,s)}Ne.defaults=Be;var De={$name:"Cork",position:k,scale:1,straight:1,noise:.3,color:new oe(16773312),background:new oe(13664352),seed:0},Fe=e((([e,t,o,n,s,r,l])=>{var i=e.mul(R(t.div(1.5).add(1))).add(l).toVar("pos"),m=i.round().toConst("midCell"),u=m.toVar("minCell"),d=c(1).toVar("minDist"),y=a().toVar("cell"),v=c().toVar("dist"),f=o.exp().reciprocal().toVar("strtaightness"),g=S(0).toVar("i"),b=S(0).toVar("j"),w=S(0).toVar("k");P(3,3,3,(()=>{y.assign(m.add(a(g,b,w).sub(1)));var e=y.add(re(y));v.assign(i.distance(e)),v.addAssign(h(i.add(y),f)),p(v.lessThan(d),(()=>{d.assign(v),u.assign(y)}))}));var x=h(u.mul(Math.PI),.5,.5).toVar("n"),k=h(i.mul(12)).toVar("r");return k.mulAssign(k,k),k.addAssign(h(i.mul(40),1/3)),V(s,r,x.add(k.mul(n)))})).setLayout({name:"camouflageRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"straight",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ge(e={}){var{position:a,scale:t,straight:o,noise:n,color:s,background:r,seed:l}={...De,...e};return Fe(a,t,o,n,s,r,l)}Ge.defaults=De;var je={$name:"Dalmatian spots",$width:260,position:k,scale:2,density:.6,color:new oe(16777215),background:new oe(0),seed:0},Ye=e((([e,a,t,o,n,s])=>{var r=e.mul(a.exp()).add(s).sub(1e3).toVar("pos"),l=c(1).toVar("k"),i=c(1.5).sub(t).mul(2).toVar("d"),m=t.mul(5).add(5).toVar("count");return P(m,(()=>{l.mulAssign(h(r).abs().pow(i).mul(100).sub(50).clamp(0,1).oneMinus()),r.assign(r.mul(1.01)),l.mulAssign(h(r.yzx).abs().pow(i).mul(100).sub(50).clamp(0,1).oneMinus()),r.assign(r.mul(1.01)),l.mulAssign(h(r.zxy).abs().pow(i).mul(100).sub(50).clamp(0,1).oneMinus()),r.assign(r.mul(1.01))})),V(n,o,l.clamp(0,1))})).setLayout({name:"dalmatianSpotsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ue(e={}){var{position:a,scale:t,density:o,color:n,background:s,seed:r}={...je,...e};return Ye(a,t,o,n,s,r)}Ue.defaults=je;var He={$name:"Darth Maul",position:k,scale:2,shift:new ne(0,0,0),complexity:0,angle:60,distance:1.9,color:new oe(15745088),background:new oe(0),balance:0,seed:0},Je=e((([e,t,o,n,s,r,l,i,m,u])=>{var c=e.add(o).mul(R(t.div(1.5).sub(1))).sub(o).mul(a(1,.5,.5)).toVar(),d=y(e.y.mul(s.radians().cos()).add(e.z.mul(s.radians().sin())).greaterThan(r),1,0);c.x.assign(c.x.add(o.x).abs()),c.y.addAssign(u),c.z.mulAssign(o.z);var p=h(c).toVar(),v=p.sin().mul(p.mul(n.mul(2).add(1).exp()).sin()).remap(0,.2,1,-1).greaterThan(m).select(0,1),f=y(c.x.greaterThan(h(c.mul(2.3)).abs().mul(.5).add(.02)),1,0);return V(i,l,v.mul(d).mul(f).clamp(0,1))})).setLayout({name:"darthMaulRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"shift",type:"vec3"},{name:"complexity",type:"float"},{name:"angle",type:"float"},{name:"distance",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"balance",type:"float"},{name:"seed",type:"float"}]});function Oe(e={}){var{position:a,scale:t,shift:o,complexity:n,angle:s,distance:r,color:l,background:i,balance:m,seed:u}={...He,...e};return Je(a,t,o,n,s,r,l,i,m,u)}Oe.defaults=He;var Ke={$name:"Dyson sphere",position:k,scale:2,complexity:2,variation:0,color:new oe(12636415),background:new oe(0),seed:0},Xe=e((([e])=>{var t=e.mul(5**.5).fract().toVar();return t.addAssign(t.dot(t.add(a(31.4159,27.1828,14.142)))),t.z.mul(t.x.add(t.y)).fract().mul(2).sub(1)})).setLayout({name:"noisea",type:"float",inputs:[{name:"pos",type:"vec3"}]}),Ze=e((([e])=>{var a=e.oneMinus().clamp(0,1).toVar();return a.mul(a).mul(c(3).sub(a.mul(2)))})).setLayout({name:"smoother",type:"float",inputs:[{name:"x",type:"float"}]}),Qe=e((([e])=>{var t=e.x.floor().toVar(),o=t.add(1).toVar(),n=e.y.floor().toVar(),s=n.add(1).toVar(),r=e.z.floor().toVar(),l=r.add(1).toVar(),i=Ze(e.x.fract()).toVar(),m=Ze(e.y.fract()).toVar(),u=Ze(e.z.fract()).toVar(),c=Ze(i.oneMinus()).toVar(),d=Ze(m.oneMinus()).toVar(),p=Ze(u.oneMinus()).toVar(),y=Xe(a(t,n,r)).mul(c).mul(d).mul(p).toVar(),v=Xe(a(t,n,l)).mul(c).mul(d).mul(u).toVar(),f=Xe(a(t,s,r)).mul(c).mul(m).mul(p).toVar(),g=Xe(a(t,s,l)).mul(c).mul(m).mul(u).toVar(),b=Xe(a(o,n,r)).mul(i).mul(d).mul(p).toVar(),w=Xe(a(o,n,l)).mul(i).mul(d).mul(u).toVar(),V=Xe(a(o,s,r)).mul(i).mul(m).mul(p).toVar(),h=Xe(a(o,s,l)).mul(i).mul(m).mul(u).toVar();return y.add(v).add(f).add(g).add(b).add(w).add(V).add(h)})).setLayout({name:"noiseg",type:"float",inputs:[{name:"pos",type:"vec3"}]}),ea=e((([e,t,o,n,s,r])=>{var l=e.mul(R(t.div(2).add(.5))).add(r).toVar(),i=a().toVar(),m=c(1).toVar();return P(o.add(4),(()=>{i.addAssign(Qe(l.mul(m))),m.addAssign(m)})),V(s,n,i.x.add(1).div(5))})).setLayout({name:"dysonSphereRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"complexity",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function aa(e={}){var{position:a,scale:t,complexity:o,color:n,background:s,seed:r}={...Ke,...e};return ea(a,t,o,n,s,r)}aa.defaults=Ke;var ta={$name:"Entangled",position:k,scale:2,density:10,color:new oe(8256),background:new oe(16777215),seed:0},oa=e((([e,a,t,o,n,s])=>{var i=R(a.div(2)).toVar(),m=e.add(s).toVar(),d=c(-1e4).toVar(),p=c(0).toVar();return P(t,(()=>{p.assign(v(h(l(m,i)).mul(3*Math.PI))),d.assign(u(d,p)),i.mulAssign(1.2)})),d.assign(C(r(I(d),5)).mul(6)),V(o,n,d)})).setLayout({name:"entangled",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"int"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function na(e={}){var{position:a,scale:t,density:o,color:n,background:s,seed:r}={...ta,...e};return oa(a,t,o,n,s,r)}na.defaults=ta;var sa={$name:"Fordite",position:k,scale:2,color:new oe(0,0,0),seed:0},ra=e((([e,t,o,n])=>{var s=e.mul(R(t)).add(n).toVar(),r=h(a(h(s,1),h(s,2),h(s,3))).toVar();return ye(a(r,1,v(l(r,Math.PI,4)).mul(.5).add(.5))).add(o)})).setLayout({name:"forditeRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"seed",type:"float"}]});function la(e={}){var{position:a,scale:t,color:o,seed:n}={...sa,...e};return ra(a,t,o,n)}la.defaults=sa;var ia={$name:"Gas giant",position:k,scale:2,turbulence:.3,blur:.6,colorA:new oe(16775408),colorB:new oe(15788208),colorC:new oe(11509968),seed:0},ma=e((([e,t,o,n,s,r,l,i])=>{var m=t.div(2).add(1).toVar(),u=e.mul(R(m)).add(i).toVar(),c=o.mul(h(a(0,u.y.mul(.5),0).add(1)).add(h(a(0,u.y.mul(1),0).add(1)).mul(.5),h(a(1,u.y.mul(2),1).add(1)).mul(.25))).mul(5).abs().toVar(),d=h(u.div(4)).add(1).div(2).pow(10).mul(10).smoothstep(0,1);u.addAssign(a(h(u),h(u.yxz),h(u.yzx)).mul(c.mul(d.mul(2).exp())));var p=n.pow(.2).oneMinus().mul(c.add(1)).toVar(),y=h(u.mul(a(0,m,0)));y=(y=y.add(h(u.mul(a(1,15,1))).mul(p))).add(-.5).smoothstep(-1,1).oneMinus();var v=h(a(0,u.y.mul(.75),0)).add(1),f=ve(V(r,s,v)),g=ye(a(f.x.add(h(u.mul(a(0,m,0))).div(4)),f.yz)).toVar();return g.assign(V(g,l,c.mul(.3))),g.mul(y)})).setLayout({name:"gasGiantRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"turbulence",type:"float"},{name:"blur",type:"float"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"},{name:"colorC",type:"vec3"},{name:"seed",type:"float"}]});function ua(e={}){var{position:a,scale:t,turbulence:o,blur:n,colorA:s,colorB:r,colorC:l,seed:i}={...ia,...e};return ma(a,t,o,n,s,r,l,i)}ua.defaults=ia;var ca={$name:"Grid",$replaceExportUVS:N,$replaceExportASP:W.x.div(W.y).log2(),uvs:T(k.normalize()),countU:32,countV:16,aspect:1,thinness:.8,equirectangular:!0,color:new oe(0),background:new oe(16777215)},da=e((([e,a,o,n,s,i,c,p])=>{var y=u(E(n),1),f=l(e.x,y,Math.PI).toVar(),g=l(e.y,Math.PI).toVar(),w=B(_(l(e.x,a)),a),h=B(_(l(e.y,o)),o),x=l(w,y,Math.PI),k=l(h,Math.PI),z=I(t(f,x)).mul(V(1,v(g),i)),L=I(t(g,k)),A=m(z,L),R=l(m(B(y.mul(Math.PI),a),B(Math.PI,o)),q(r(s,.5),0,1,.9,.04),.5),M=C(b(t(R,.002),d(R,.002),A));return V(p,c,M)})).setLayout({name:"gridRaw",type:"vec3",inputs:[{name:"uvs",type:"vec2"},{name:"countU",type:"float"},{name:"countV",type:"float"},{name:"aspect",type:"float"},{name:"thinness",type:"float"},{name:"equirectangular",type:"int"},{name:"color",type:"vec3"},{name:"background",type:"vec3"}]});function pa(e={}){var{uvs:a,countU:t,countV:o,aspect:n,thinness:s,equirectangular:r,color:l,background:i}={...ca,...e};return da(a,t,o,n,s,r,l,i)}pa.defaults=ca;var ya={$name:"Isolines",position:k,scale:2,density:40,blur:.3,thinness:.6,color:new oe(16777215),background:new oe(0),seed:0},va=e((([e,a,o,n,s,r,l,i])=>{var m=e.mul(R(a)).add(i).toVar(),u=h(m,o);return u=C(v(u)).div(2),u=b(t(s,n),d(s,n),u),V(r,l,u)})).setLayout({name:"isolinesRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"blur",type:"float"},{name:"thinness",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function fa(e={}){var{position:a,scale:t,density:o,blur:n,thinness:s,color:r,background:l,seed:i}={...ya,...e};return va(a,t,o,n,s,r,l,i)}fa.defaults=ya;var ga={$name:"Karst rock",position:k,scale:2,color:new oe(16774384),background:new oe(13684944),seed:0},ba=e((([e,a,t,o,n])=>{var s=e.mul(R(a)).add(n.sin().mul(5)).toVar(),r=s.add(h(s.mul(2))).toVar(),l=h(r).div(h(r.mul(1.01))).clamp(0,2).toVar();return l.addAssign(h(s.mul(100)).div(3)),l.addAssign(h(s.mul(2)).div(2)),V(o,t,l).mul(l.pow(.1))})).setLayout({name:"karstRockRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function wa(e={}){var{position:a,scale:t,color:o,background:n,seed:s}={...ga,...e};return ba(a,t,o,n,s)}wa.defaults=ga;var Va={$name:"Marble",position:k,scale:1.2,thinness:5,noise:.3,color:new oe(4539859),background:new oe(15792383),seed:0},ha=e((([e,a,t,o,n,s,i])=>{var m=e.mul(R(a)).add(i).toVar(),u=d(h(m),h(m.mul(2)).mul(.5),h(m.mul(6)).mul(.1)),c=(u=C(u.abs().pow(2.5)).toVar(),C(r(.5,t.add(7))).toVar()),y=C(r(.5,t.add(7).mul(.5))).toVar();return p(u.greaterThan(c),(()=>{u.assign(1)})).ElseIf(u.lessThan(y),(()=>{u.assign(0)})).Else((()=>{var e=u.sub(y),a=c.sub(y);u.assign(r(B(e,a),5).mul(.75)),u.assign(u.mul(d(.5,h(m.mul(2)).mul(1.5))))})),u.assign(u.add(l(o,h(m.mul(150)).abs().pow3()))),V(s,n,u)})).setLayout({name:"marbleRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function xa(e={}){var{position:a,scale:t,thinness:o,noise:n,color:s,background:r,seed:l}={...Va,...e};return ha(a,t,o,n,s,r,l)}xa.defaults=Va;var ka={$name:"Neon Lights",position:k,scale:2,thinness:.8,mode:0,colorA:new oe(16711680),colorB:new oe(65280),colorC:new oe(255),background:new oe(0),seed:0},za=e((([e,t,o,n,s,r,l,i,m])=>{var u=e,c=R(t.remap(0,4,-2,2)).toVar(),d=R(o.remap(0,1,1.5,0)).toVar(),p=i.toVar(),v=a(0).toVar(),f=h(u.xyz).toVar(),g=h(u.yzx).toVar(),b=h(u.zxy).toVar(),w=h(a(f,g,b).mul(c).add(m)).toVar();w.assign(C(D(I(w))).pow(3)),v.assign(s);var V=ve(v);v.assign(ye(a(V.xy,V.z.mul(w)))),p.addAssign(y(n.equal(0),v,v.negate()).mul(d)),w.assign(h(a(g,b,f).mul(c).sub(m))),w.assign(C(D(I(w))).pow(3)),v.assign(r);V=ve(v);v.assign(ye(a(V.xy,V.z.mul(w)))),p.addAssign(y(n.equal(0),v,v.negate()).mul(d)),w.assign(h(a(b,f,g.negate()).mul(c).add(m))),w.assign(C(D(I(w))).pow(3)),v.assign(l);V=ve(v);return v.assign(ye(a(V.xy,V.z.mul(w)))),p.addAssign(y(n.equal(0),v,v.negate()).mul(d)),p})).setLayout({name:"neonLightsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"node",type:"float"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"},{name:"colorC",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function La(e={}){var{position:a,scale:t,thinness:o,mode:n,colorA:s,colorB:r,colorC:l,background:i,seed:m}={...ka,...e};return za(a,t,o,n,s,r,l,i,m)}La.defaults=ka;var Aa={$name:"Perlin noise",position:k,scale:2,balance:0,contrast:0,color:new oe(16777215),background:new oe(0),seed:0},Ra=e((([e,a,t,o,n,s,r])=>{var l=e.mul(R(a)).add(r),i=A(0,1,h(l).mul(.5,R(o)).add(.5,t));return V(s,n,i)})).setLayout({name:"perlinNoiseRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"balance",type:"float"},{name:"contrast",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ma(e={}){var{position:a,scale:t,balance:o,contrast:n,color:s,background:r,seed:l}={...Aa,...e};return Ra(a,t,o,n,s,r,l)}Ma.defaults=Aa;var $a={$name:"Photosphere",position:k,scale:2,color:new oe(16776960),background:new oe(16711680),seed:0},Sa=e((([e,t,o,n,s])=>{var r=R(t.add(1)).toVar(),l=e.toVar(),i=a(l).toVar();P(6,(()=>{i.assign(g(i,l.mul(r))),r.mulAssign(s.mul(r).sin().mul(.05).add(1.1))}));var m=h(i).add(1).div(2);return V(n,o,m)})).setLayout({name:"photosphereRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Pa(e={}){var{position:a,scale:t,color:o,background:n,seed:s}={...$a,...e};return Sa(a,t,o,n,s)}Pa.defaults=$a;var Ca={$name:"Planet",position:k,scale:2,iterations:5,levelSea:.3,levelMountain:.7,balanceWater:.3,balanceSand:.2,balanceSnow:.8,colorDeep:new oe(1194585).convertLinearToSRGB(),colorShallow:new oe(8900331).convertLinearToSRGB(),colorBeach:new oe(16775885).convertLinearToSRGB(),colorGrass:new oe(3978097).convertLinearToSRGB(),colorForest:new oe(12288).convertLinearToSRGB(),colorSnow:new oe(15794175).convertLinearToSRGB(),seed:0},Ia=e((([e,t,o,n,r,i,m,u,d,y,v,f,g,w,x])=>{var k=c(0).toVar(),z=c(0).toVar(),L=R(t.sub(2)).toVar(),A=c(2).toVar();P(o.add(10),(()=>{k.addAssign(l(A,h(e.mul(L).add(x)))),z.addAssign(A),L.mulAssign(1.5),A.mulAssign(.8)})),k.assign(l(k,k,.5).div(z));n=n.pow(2).toVar(),r=r.pow(2).toVar();var M=V(n,r,m).toVar(),$=V(n,M,.4).toVar(),S=V(n,M,.6).toVar(),C=a().toVar();return p(k.lessThan(n),(()=>{C.assign(V(d,y,s(k,0,n,0,1).pow(R(i.mul(-8).add(4)))))})).ElseIf(k.lessThan($),(()=>{C.assign(V(y,v,s(k,n,$)))})).ElseIf(k.lessThan(S),(()=>{C.assign(v)})).ElseIf(k.lessThan(M),(()=>{C.assign(V(v,f,s(k,S,M)))})).ElseIf(k.lessThan(r),(()=>{C.assign(V(f,g,s(k,M,r).pow(.75)))})).Else((()=>{var e=V(1,r,u);C.assign(V(g,w,b(V(e,r,u.pow(.5)),e,k)))})),C})).setLayout({name:"planetRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"levelSea",type:"float"},{name:"levelMountain",type:"float"},{name:"balanceWater",type:"float"},{name:"balanceSand",type:"float"},{name:"balanceSnow",type:"float"},{name:"colorDeep",type:"vec3"},{name:"colorShallow",type:"vec3"},{name:"colorBeach",type:"vec3"},{name:"colorGrass",type:"vec3"},{name:"colorForest",type:"vec3"},{name:"colorSnow",type:"vec3"},{name:"seed",type:"float"}]});function Ta(e={}){var{position:a,scale:t,iterations:o,levelSea:n,levelMountain:s,balanceWater:r,balanceSand:l,balanceSnow:i,colorDeep:m,colorShallow:u,colorBeach:c,colorGrass:d,colorForest:p,colorSnow:y,seed:v}={...Ca,...e};return Ia(a,t,o,n,s,r,l,i,m,u,c,d,p,y,v)}Ta.defaults=Ca;var Wa={$name:"Polka dots",position:k,count:2,size:.5,blur:.25,color:new oe(0),background:new oe(16777215),flat:0},Ea=(1+5**.5)/2,Ba=e((([e,a,t,o,n,s,i])=>{var y=c(1).toVar();p(i.equal(1),(()=>{var t=a.pow(2).sub(.5).toVar(),o=e.xy.mul(t).mul(F(1,1,-1,1)),n=o.round().toVar();y.assign(o.distance(n).div(t))})).Else((()=>{var t=r(10,a).toVar(),o=e.normalize().toVar(),n=C(o.y).mul(t).sub(1).div(2),s=u(10,t.pow(.5)),i=n.sub(s).floor().clamp(0,t),p=n.add(s).floor().clamp(0,t);y.assign(1).toVar(),P(p.sub(i),(({i:e})=>{var a=d(e,i),n=G(l(2*Math.PI/Ea,a),2*Math.PI),s=L(C(c(a).mul(2).add(1).div(t))),r=fe(s,n);y.assign(m(y,j(o,r)))}))}));var v=R(t.mul(5).sub(5)).toVar(),f=o.pow(4).toVar(),g=b(v.sub(f),v.add(f),y);return V(n,s,g)})).setLayout({name:"polkaDotsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"count",type:"float"},{name:"size",type:"float"},{name:"blur",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"xflat",type:"int"}]});function _a(e={}){var{position:a,count:t,size:o,blur:n,color:s,background:r,flat:l}={...Wa,...e};return Ba(a,t,o,n,s,r,l)}_a.defaults=Wa;var qa={$name:"Processed wood",$width:260,position:k,scale:2,lengths:4,strength:.3,angle:0,color:new oe(7348256),background:new oe(15782048),seed:0},Na=e((([e,o,n,s,r,l,i,m])=>{r=Y(r).toVar();var u=a(t(e.x.mul(f(r)),e.y.mul(v(r))),d(e.x.mul(v(r)),e.y.mul(f(r))),e.z).toVar(),c=o.div(2).add(1).toVar(),p=u.mul(R(o)).add(m).toVar(),y=n.add(5).reciprocal().toVar(),g=h(p.mul(c,a(1,y,y)));return g=(g=g.mul(h(p.mul(a(25,1,1))).add(-1).mul(.2))).add(s.sub(.5)).smoothstep(-.3,.3).oneMinus(),V(l,i,g)})).setLayout({name:"processedWoodRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"lengths",type:"float"},{name:"strength",type:"float"},{name:"angle",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Da(e={}){var{position:a,scale:t,lengths:o,strength:n,angle:s,color:r,background:l,seed:i}={...qa,...e};return Na(a,t,o,n,s,r,l,i)}Da.defaults=qa;var Fa={$name:"Protozoa",position:k,matcap:U,scale:1.5,fat:.7,amount:.4,color:new oe(10526880),subcolor:new oe(14739711),background:new oe(15792383),seed:0},Ga=e((([e,a])=>h(e).mul(a).clamp(-3.14,3.14).cos().add(1).div(2))).setLayout({name:"pnoise",type:"float",inputs:[{name:"pos",type:"vec3"},{name:"fat",type:"float"}]}),ja=e((([e,t,o,n,s,r,l,i,m])=>{var u=e.mul(R(o.sub(1))).add(m).toVar(),d=a(t,t.length()).toVar(),p=c(0).toVar(),y=c(0).toVar(),v=c(0).toVar(),f=c(0).toVar(),g=(n=n.add(.2).oneMinus().mul(60).add(30).toVar(),c(2).toVar()),b=s.div(2).add(.5).exp().toVar();return P(10,(()=>{p.assign(Ga(u.xyz.add(d),n)),y.assign(Ga(u.yzx.add(d),n)),v.addAssign(p.mul(y).mul(g)),f.addAssign(p.max(y).mul(g)),u.assign(V(u.mul(b),0,.4)),o.mulAssign(.9)})),V(i,V(r,l,f.mul(.1)),v)})).setLayout({name:"protozoaRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"matcap",type:"vec2"},{name:"scale",type:"float"},{name:"fat",type:"float"},{name:"amount",type:"float"},{name:"color",type:"vec3"},{name:"subcolor",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ya(e={}){var{position:a,matcap:t,scale:o,fat:n,amount:s,color:r,subcolor:l,background:i,seed:m}={...Fa,...e};return ja(a,t,o,n,s,r,l,i,m)}Ya.defaults=Fa;var Ua={$name:"Rotator",$positionNode:!0,$selectorPlanar:!0,angles:new ne(-.2,.7,0),center:new ne(0,0,0),selectorCenter:new ne(0,0,0),selectorAngles:new se(0,0),selectorWidth:2},Ha=e((([e,a,t,o,n,s])=>{var r=be(e,o,n,s);return ge(e,t,a.mul(r))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"angles",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Ja=e((([e,a,t,o,n])=>Ha(k,e,a,t,o,n))).setLayout({name:"rotatorRaw",type:"vec3",inputs:[{name:"angles",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Oa=e((([e,a,t,o,s])=>{var r=k,l=M.normalize().toVar(),i=$.normalize().mul(.01).toVar(),m=n(l,i).normalize().mul(.01).toVar(),u=Ha(r,e,a,t,o,s),c=Ha(r.add(i),e,a,t,o,s),d=Ha(r.add(m),e,a,t,o,s);return le(u,c,d)})).setLayout({name:"rotatorNormalRaw",type:"vec3",inputs:[{name:"angles",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]});function Ka(e={}){var{angles:a,center:t,selectorAngles:o,selectorCenter:n,selectorWidth:s}={...Ua,...e};return Ja(a,t,o,n,s)}Ka.normal=function(e={}){var{angles:a,center:t,selectorAngles:o,selectorCenter:n,selectorWidth:s}={...Ua,...e};return Oa(a,t,o,n,s)},Ka.defaults=Ua;var Xa={$name:"Rough clay",$normalNode:!0,position:k,scale:2,bump:.5,curvature:.2,seed:0},Za=e((([e,a,t])=>{var o=H(e.add(h(e).mul(t))).add(.8).pow(5).toVar();return o.addAssign(o.pow(.5)),e.add(a.mul(o))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"curvature",type:"float"}]}),Qa=e((([e,a,t,o,s,r,l])=>{var i=e.mul(R(o.div(2))).add(l.sin().mul(10)).toVar(),m=a.normalize().toVar(),u=t.normalize().mul(.001).toVar(),c=n(m,u).normalize().mul(.001).toVar();m.mulAssign(s,.02);var d=Za(i,m,r),p=Za(i.add(u),m,r),y=Za(i.add(c),m,r);return le(d,p,y)})).setLayout({name:"concreteRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"bump",type:"float"},{name:"curvature",type:"float"},{name:"seed",type:"float"}]});function et(e={}){var{position:a,scale:t,bump:o,curvature:n,seed:s}={...Xa,...e};return Qa(a,M,$,t,o,n,s)}et.defaults=Xa;var at={$name:"Runny eggs",position:k,scale:1,sizeYolk:.2,sizeWhite:.7,colorYolk:new oe("orange"),colorWhite:new oe("white"),colorBackground:new oe("lightgray"),seed:0},tt=e((([e,a,t,o])=>{var n=H(e).toVar(),s=n.add(o).pow(8).oneMinus(),r=n.add(t).pow(18).oneMinus().clamp(0,1),l=V(0,V(0,1,r),s);return e.add(a.mul(l))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"normal",type:"vec3"},{name:"sizeYolk",type:"float"},{name:"sizeWhite",type:"float"}]}),ot=e((([e,a,t,o,n,s,r,l])=>{var i=e.mul(R(a)).add(l.sin().mul(10)).toVar(),m=H(i).toVar(),u=m.add(o.oneMinus()).pow(8).oneMinus().clamp(-.5,1),c=m.add(t.oneMinus()).pow(18).oneMinus().clamp(0,1).pow(.4).clamp(0,1);return V(r,V(s,n,c),u)})).setLayout({name:"runnyEggsRaw",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"normal",type:"vec3"},{name:"sizeYolk",type:"float"},{name:"sizeWhite",type:"float"},{name:"colorYolk",type:"vec3"},{name:"colorWhite",type:"vec3"},{name:"colorBackground",type:"vec3"},{name:"seed",type:"float"}]}),nt=e((([e,a,t,o,s,r,l])=>{var i=e.mul(R(o)).add(l.sin().mul(10)).toVar(),m=a.normalize().toVar(),u=t.normalize().mul(.001).toVar(),c=n(m,u).normalize().mul(.001).toVar(),d=s.oneMinus(),p=r.oneMinus();m.mulAssign(.05);var y=tt(i,m,d,p),v=tt(i.add(u),m,d,p),f=tt(i.add(c),m,d,p);return le(y,v,f)})).setLayout({name:"runnyEggsNormalRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"sizeYolk",type:"float"},{name:"sizeWhite",type:"float"},{name:"seed",type:"float"}]}),st=e((([e,a,t,o])=>{var n=e.mul(R(a)).add(o.sin().mul(10)).toVar();return H(n).toVar().add(t.oneMinus()).pow(18).clamp(0,1)})).setLayout({name:"runnyEggsRoughnessRaw",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"sizeYolk",type:"float"},{name:"seed",type:"float"}]});function rt(e={}){var{position:a,scale:t,sizeYolk:o,sizeWhite:n,colorYolk:s,colorWhite:r,colorBackground:l,seed:i}={...at,...e};return ot(a,t,o,n,s,r,l,i)}rt.normal=function(e={}){var{position:a,scale:t,sizeYolk:o,sizeWhite:n,seed:s}={...at,...e};return nt(a,M,$,t,o,n,s)},rt.roughness=function(e={}){var{position:a,scale:t,sizeYolk:o,seed:n}={...at,...e};return st(a,t,o,n)},rt.defaults=at;var lt={$name:"rust",position:k,scale:2,iterations:8,amount:-.3,opacity:.5,noise:.5,noiseScale:.5,color:new oe(12615680),background:new oe(32),seed:0},it=e((([e,a,t,o,n])=>{var s=e.mul(R(a.div(4).add(-1))).add(n).toVar(),r=o.mul(h(s.mul(o.div(2).add(4))).add(4)).toVar(),l=h(s).toVar();return P(t,(()=>{s.mulAssign(2),l.addAssign(h(s))})),l.subAssign(h(s.mul(2)).abs()),l.assign(l.sub(r).clamp(0,15)),l})).setLayout({name:"_rust",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"amount",type:"float"},{name:"seed",type:"float"}]}),mt=e((([e,a,t,o,n,s,r,l,i])=>{var m=it(e,a,t,o,i).mul(1.25).pow(.5),u=e.mul(R(a.add(s.mul(3),2)));return m.addAssign(n.mul(h(u).abs().add(.1).pow(2))),V(r,l,m)})).setLayout({name:"rustRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"amount",type:"float"},{name:"xnoise",type:"float"},{name:"noiseScale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]}),ut=e((([e,a,t,o,n,s])=>it(e,a,t,o,s).mul(n.add(.2)).oneMinus())).setLayout({name:"rustOpacityRaw",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"amount",type:"float"},{name:"opacity",type:"float"},{name:"seed",type:"float"}]});function ct(e={}){var{position:a,scale:t,iterations:o,amount:n,noise:s,noiseScale:r,color:l,background:i,seed:m}={...lt,...e};return mt(a,t,o,n,s,r,l,i,m)}ct.opacity=function(e={}){var{position:a,scale:t,iterations:o,amount:n,opacity:s,seed:r}={...lt,...e};return ut(a,t,o,n,s,r)},ct.defaults=lt;var dt={$name:"Satin",position:k,scale:2,color:new oe(7373055),background:new oe(80),seed:0},pt=e((([e,t,o,n,s])=>{var r=e.toVar("pos"),l=(t=t.div(3).exp().toVar("xscale"),h(a(h(a(r.x.mul(2),r.y,r.z).mul(t)),h(a(r.x,r.y.mul(2),r.z).mul(t)),h(a(r.x,r.y,r.z.mul(2)).mul(t))).mul(t).add(s)).abs().pow(3).mul(20).toVar("k"));return V(n,o,l)})).setLayout({name:"satinRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function yt(e={}){var{position:a,scale:t,color:o,background:n,seed:s}={...dt,...e};return pt(a,t,o,n,s)}yt.defaults=dt;var vt={$name:"Scaler",$positionNode:!0,$selectorPlanar:!0,scales:new ne(.01,.9,1.7),center:new ne(0,0,0),selectorCenter:new ne(0,0,0),selectorAngles:new se(0,0),selectorWidth:2},ft=e((([e,t,o,n,s,r])=>{var l=be(e,n,s,r),i=V(a(1,1,1),t,l);return e.sub(o).mul(i).add(o)})),gt=e((([e,a,t,o,n])=>ft(k,e,a,t,o,n))).setLayout({name:"scalerRaw",type:"vec3",inputs:[{name:"scales",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),bt=e((([e,a,t,o,s])=>{var r=k,l=M.normalize().toVar(),i=$.normalize().mul(.01).toVar(),m=n(l,i).normalize().mul(.01).toVar(),u=ft(r,e,a,t,o,s),c=ft(r.add(i),e,a,t,o,s),d=ft(r.add(m),e,a,t,o,s);return le(u,c,d)})).setLayout({name:"scalerNormalRaw",type:"vec3",inputs:[{name:"scales",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]});function wt(e={}){var{scales:a,center:t,selectorAngles:o,selectorCenter:n,selectorWidth:s}={...vt,...e};return gt(a,t,o,n,s)}wt.normal=function(e={}){var{scales:a,center:t,selectorAngles:o,selectorCenter:n,selectorWidth:s}={...vt,...e};return bt(a,t,o,n,s)},wt.defaults=vt;var Vt={$name:"Scepter head",position:k,xFactor:10,yFactor:22,zFactor:10,colorRim:new oe(16777215),colorA:new oe(7397631),colorB:new oe(3145983)},ht=e((([e,t,o,n,s,r,i])=>{var m=e.toVar("pos"),c=m.x.mul(ie(t,0,100,1.35,30)).toVar("fx"),p=m.y.mul(ie(o,0,100,1.35,30)).toVar("fy"),y=m.z.mul(ie(n,0,100,1.35,30)).toVar("fz"),v=f(c),g=f(p),b=f(y),w=h(a(m.x.div(v),m.y.div(g),m.z.div(b)));w=J(w).mul(I(w).pow(.75));var x=I(l(c,O(c)).add(1).div(v)),k=I(l(p,O(p)).add(1).div(g)),z=I(l(y,O(y)).add(1).div(b)),L=a().toVar(),A=I(K(c.mul(2/Math.PI).add(1).div(2))),R=I(K(p.mul(2/Math.PI).add(1).div(2))),M=I(K(y.mul(2/Math.PI).add(1).div(2))),$=G(d(A,R,M),2);L.assign(ve(V(r,i,$)));var S=ye(a(L.xy,L.z.mul(w))).toVar("color1");L.assign(ve(s));var P=ye(a(L.xy,l(2,w,L.z))).toVar("color2");return V(S,P,q(u(x,u(k,z)),45,65))})).setLayout({name:"scepterHeadRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"xFactor",type:"float"},{name:"yFactor",type:"float"},{name:"zFactor",type:"float"},{name:"colorRim",type:"vec3"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"}]});function xt(e={}){var{position:a,xFactor:t,yFactor:o,zFactor:n,colorRim:s,colorA:r,colorB:l}={...Vt,...e};return ht(a,t,o,n,s,r,l)}xt.defaults=Vt;var kt={$name:"Scream",position:k,scale:2,variety:1,color:new oe(15790176),background:new oe(13668496),seed:0},zt=e((([e,t,o,n,s,r])=>{var l=e.mul(R(t)).add(r).toVar("pos"),i=h(d(v(l.xyz),f(l.yzx)));l.assign(e.mul(R(t).mul(i)).add(r));i=h(d(v(l.xyz),f(l.yzx)).mul(2));var m=V(s,n,i).toVar("col"),u=ve(m).toVar("HSL");return ye(a(d(u.x,o.mul(v(i.mul(Math.PI))).mul(.5)),u.yz))})).setLayout({name:"satinRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"variety",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Lt(e={}){var{position:a,scale:t,variety:o,color:n,background:s,seed:r}={...kt,...e};return zt(a,t,o,n,s,r)}Lt.defaults=kt;var At={$name:"Stars",position:k,scale:2,density:2,variation:0,color:new oe(16774640),background:new oe(96),seed:0},Rt=e((([e,t,o,n,s,r,l])=>{var i=e.mul(R(t.div(2).add(3))).add(l).toVar(),m=I(h(i)).pow(10).mul(10);m=m.mul(R(o.sub(2)));var u=y(m.greaterThan(.1),n.mul(h(i)),0),c=ve(V(r,s,m));return ye(a(d(c.x,u),c.yz))})).setLayout({name:"starsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"variation",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Mt(e={}){var{position:a,scale:t,density:o,variation:n,color:s,background:r,seed:l}={...At,...e};return Rt(a,t,o,n,s,r,l)}Mt.defaults=At;var $t={$name:"Static noise",position:X,time:x,scale:2,balance:0,contrast:0,delay:0,seed:0},St=e((([e,t,o,n,s,r,l])=>{var i=e.div(R(o)).add(l),m=r.sub(1).mul(5).exp(),u=t.div(m).round().mul(m),c=re(u.sin()).mul(1e3),d=A(0,1,h(i.add(c)));return d=d.mul(.5,R(s)).add(.5,n),a(d)})).setLayout({name:"staticNoiseRaw",type:"vec3",inputs:[{name:"position",type:"vec2"},{name:"time",type:"float"},{name:"scale",type:"float"},{name:"balance",type:"float"},{name:"contrast",type:"float"},{name:"delay",type:"float"},{name:"seed",type:"float"}]});function Pt(e={}){var{position:a,time:t,scale:o,balance:n,contrast:s,delay:r,seed:l}={...$t,...e};return St(a,t,o,n,s,r,l)}Pt.defaults=$t;var Ct={$name:"Supersphere",$positionNode:!0,exponent:3},It=e((([e,a])=>{var t=c(2).pow(a),o=e.div(e.length()).toVar(),n=o.abs().pow(t).toVar(),s=n.x.add(n.y).add(n.z).pow(t.reciprocal());return o.div(s)})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"exponent",type:"float"}]}),Tt=e((([e])=>It(k,e))).setLayout({name:"supersphereRaw",type:"vec3",inputs:[{name:"exponent",type:"float"}]}),Wt=e((([e])=>{var a=k,t=M.normalize().toVar(),o=$.normalize().mul(.01).toVar(),s=n(t,o).normalize().mul(.01).toVar(),r=It(a,e),l=It(a.add(o),e),i=It(a.add(s),e);return le(r,l,i)})).setLayout({name:"supersphereRaw",type:"vec3",inputs:[{name:"exponent",type:"float"}]});function Et(e={}){var{exponent:a}={...Ct,...e};return Tt(a)}Et.normal=function(e={}){var{exponent:a}={...Ct,...e};return Wt(a)},Et.defaults=Ct;var Bt={$name:"Tiger fur",position:k,scale:2,lengths:4,blur:.3,strength:.3,hairs:.5,color:new oe(16755200),bottomColor:new oe(16777198),seed:0},_t=e((([e,t,o,n,s,r,l,i,m])=>{var u=t.div(2).add(1).toVar(),c=e.mul(R(u)).add(m).toVar(),d=o.add(5).reciprocal().toVar(),p=(r=r.mul(.3).toVar(),h(c.mul(u,a(1,d,d))));p=(p=p.add(h(c.mul(a(25,1,1))).add(1).mul(r))).add(s.sub(.5)).smoothstep(n.negate(),n).oneMinus();var y=e.y.add(r.sub(.5)).smoothstep(-1,.5);return V(i,l,y).mul(p)})).setLayout({name:"tigerFurRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"lengths",type:"float"},{name:"blur",type:"float"},{name:"strength",type:"float"},{name:"hairs",type:"float"},{name:"color",type:"vec3"},{name:"bottomColor",type:"vec3"},{name:"seed",type:"float"}]});function qt(e={}){var{position:a,scale:t,lengths:o,blur:n,strength:s,hairs:r,color:l,bottomColor:i,seed:m}={...Bt,...e};return _t(a,t,o,n,s,r,l,i,m)}qt.defaults=Bt;var Nt={$name:"Translator",$positionNode:!0,$selectorPlanar:!0,distance:new ne(-.5,0,.2),selectorCenter:new ne(0,0,0),selectorAngles:new se(0,0),selectorWidth:.7},Dt=e((([e,a,t,o,n])=>{var s=be(e,t,o,n);return e.add(a.mul(s))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"distance",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Ft=e((([e,a,t,o])=>Dt(k,e,a,t,o))).setLayout({name:"translatorRaw",type:"vec3",inputs:[{name:"distance",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Gt=e((([e,a,t,o])=>{var s=k,r=M.normalize().toVar(),l=$.normalize().mul(.01).toVar(),i=n(r,l).normalize().mul(.01).toVar(),m=Dt(s,e,a,t,o),u=Dt(s.add(l),e,a,t,o),c=Dt(s.add(i),e,a,t,o);return le(m,u,c)})).setLayout({name:"translatorNormalRaw",type:"vec3",inputs:[{name:"distance",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]});function jt(e={}){var{distance:a,selectorAngles:t,selectorCenter:o,selectorWidth:n}={...Nt,...e};return Ft(a,t,o,n)}jt.normal=function(e={}){var{distance:a,selectorAngles:t,selectorCenter:o,selectorWidth:n}={...Nt,...e};return Gt(a,t,o,n)},jt.defaults=Nt;var Yt={$name:"Voronoi cells",position:k,scale:2,variation:0,facet:0,color:new oe(0),background:new oe(12636415),seed:0},Ut=e((([e,t,o,n,s,r,l])=>{var i=e.mul(R(t.div(2).add(.5))).add(l).toVar(),m=i.round().toVar(),u=m.toVar(),d=c(1).toVar(),y=a().toVar(),v=c().toVar(),f=S(0).toVar("i"),g=S(0).toVar("j"),b=S(0).toVar("k");P(3,3,3,(()=>{y.assign(m.add(a(f,g,b).sub(1)));var e=y.add(re(y.mul(2*Math.PI)).div(2));v.assign(i.distance(e)),p(v.lessThan(d),(()=>{d.assign(v),u.assign(y)}))}));var w=h(u.mul(Math.PI)).toVar(),x=V(d,w.add(1).div(2),n),k=(s=V(s,r,x).toVar(),a(w.mul(16.8),w.mul(31.4159),w.mul(27.1828)).sin().add(1).div(2));return V(s,V(s,k,o),o)})).setLayout({name:"voronoiCellsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"variation",type:"float"},{name:"facet",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ht(e={}){var{position:a,scale:t,variation:o,facet:n,color:s,background:r,seed:l}={...Yt,...e};return Ut(a,t,o,n,s,r,l)}Ht.defaults=Yt;var Jt={$name:"Water Drops",$normalNode:!0,position:k,scale:1.4,density:.5,bump:.6,seed:0},Ot=e((([e,a,t])=>{var o=h(e,1,t).clamp(0,1);return o=f(o.mul(Math.PI)).add(1).pow(.5).toVar(),e.add(a.mul(o))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"density",type:"float"}]}),Kt=e((([e,t,o,r,l,i,m])=>{var u=a(1,2,3).mul(m).sin().mul(100).toVar(),c=e.mul(R(r.div(1).add(1))).add(u).toVar(),d=t.normalize().toVar(),p=o.normalize().mul(.001).toVar(),y=n(d,p).normalize().mul(.001).toVar(),v=s(l,0,1,1.5,.7).toVar();d.mulAssign(i);var f=Ot(c,d,v),g=Ot(c.add(p),d,v),b=Ot(c.add(y),d,v);return le(f,g,b)})).setLayout({name:"waterDropsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"bump",type:"float"},{name:"seed",type:"float"}]});function Xt(e={}){var{position:a,scale:t,density:o,bump:n,seed:s}={...Jt,...e};return Kt(a,M,$,t,o,n,s)}Xt.defaults=Jt;var Zt={$name:"Watermelon",$replaceExportUVS:N,position:k,uvs:T(k.normalize()),scale:2,stripes:12,variation:.5,noise:.25,color:new oe("yellowgreen"),background:new oe("darkgreen"),seed:0},Qt=e((([e,t,o,n,s,r,l,i,m])=>{var u=e.mul(R(o.div(4).add(2))).add(m).toVar(),c=t.x.mul(n,2*Math.PI).add(h(u.mul(a(1,.3,1))).mul(2)).sin().add(.5).div(2).mul(t.y.remap(0,1,-Math.PI,Math.PI).cos().add(1.2).clamp(0,1)).add(s.mul(2,h(u.mul(1.5)).div(2))).add(s.mul(2,h(u.mul(4)).div(6))).toVar();return c.assign(c.mix(c.round(),.75).add(h(u.mul(2)).mul(r,.5)).add(h(u.mul(3)).mul(r,1)).add(h(u.mul(15)).mul(r,.2)).clamp(0,1)),l=V(i,l,c).toVar()})).setLayout({name:"watermelonRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"uvs",type:"vec2"},{name:"scale",type:"float"},{name:"stripes",type:"int"},{name:"variation",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function eo(e={}){var{position:a,uvs:t,scale:o,stripes:n,variation:s,noise:r,color:l,background:i,seed:m}={...Zt,...e};return Qt(a,t,o,n,s,r,l,i,m)}eo.defaults=Zt;var ao={$name:"Wood",position:k,scale:2.5,rings:4.5,lengths:1,angle:0,fibers:.3,fibersDensity:10,color:new oe(.8,.4,0),background:new oe(.4,.1,0),seed:0},to=e((([e,o,n,s,r,i,m,u,p,y])=>{r=Y(r).toVar();var g=a(t(e.x.mul(f(r)),e.y.mul(v(r))),d(e.x.mul(v(r)),e.y.mul(f(r))),e.z).toVar(),b=g.mul(R(o.sub(3)).mul(a(Z(s),4,Z(s)))).add(y).toVar(),w=h(b).add(1).mul(10).mul(n);w=w.add(w.cos()).cos().add(1).div(2);var x=c(0).toVar(),k=c(0).toVar(),z=(o=R(o.sub(2)).mul(a(1,m,1)).toVar(),c(2).toVar());return P(10,(()=>{x.addAssign(l(z,h(g.mul(o).add(y)))),k.addAssign(z),o.mulAssign(1.8),z.mulAssign(.6)})),x.assign(l(x,5).div(k).mul(10).sin().add(1).div(2)),V(u,p,V(w,x,i))})).setLayout({name:"woodRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"rings",type:"float"},{name:"lengths",type:"float"},{name:"angle",type:"float"},{name:"fibers",type:"float"},{name:"fibersDensity",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function oo(e={}){var{position:a,scale:t,rings:o,lengths:n,angle:s,fibers:r,fibersDensity:l,color:i,background:m,seed:u}={...ao,...e};return to(a,t,o,n,s,r,l,i,m,u)}oo.defaults=ao;var no={$name:"Zebra lines",position:k,scale:2,thinness:.5,phi:0,theta:0,color:new oe(0),background:new oe(16777215),flat:0},so=e((([e,a,t,o,n,s,r,l])=>{var i=y(l,e,e.normalize()).toVar(),m=y(l,Q(f(o),v(o)),fe(o,n)).toVar(),u=y(l,A(m.dot(i),-2,2),L(A(m.dot(i),-1,1))).toVar(),c=(a=R(a.add(1)).toVar(),v(u.mul(a)).sub(t.sub(.5).mul(2)));return c=A(c.mul(1e3).div(a),-1,1).mul(.5).add(.5),V(r,s,c)})).setLayout({name:"zebraLinesRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"phi",type:"float"},{name:"theta",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"xflat",type:"int"}]});function ro(e={}){var{position:a,scale:t,thinness:o,phi:n,theta:s,color:r,background:l,flat:i}={...no,...e};return so(a,t,o,n,s,r,l,i)}ro.defaults=no;var lo={$name:"Circle decor",position:k,scale:2,grains:.2,complexity:1,blur:.2,color:new oe(0),background:new oe(16777215),seed:0},io=e((([e,a,t,o,n,s,r,l])=>{var i=e.mul(R(a.div(4))).add(l).toVar("pos"),m=i.mul(2).toVar("subpos"),u=H(i),c=H(m),d=H(i.mul(t.mul(4).add(2))).mul(2),p=h(i).div(2).add(1),y=u.min(c,d).clamp(0,1).mul(o.add(2).exp(),p,Math.PI).sin().smoothstep(n.negate(),n);return V(s,r,y.oneMinus())})).setLayout({name:"camouflageRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"grains",type:"float"},{name:"complexity",type:"float"},{name:"blur",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function mo(e={}){var{position:a,scale:t,grains:o,complexity:n,blur:s,color:r,background:l,seed:i}={...lo,...e};return io(a,t,o,n,s,r,l,i)}mo.defaults=lo;var uo={$name:"Reticular veins",position:k,scale:2,reticulation:5,strength:.2,organelles:.2,color:new oe(16777200),background:new oe(2129952),seed:0},co=e((([e,a,t,o,n,s,r,l])=>{var i=e.mul(R(a.div(2).add(.5))).add(l).toVar(),m=H(i),u=H(i.add(100).mul(t)).mul(o),c=h(i.mul(100)).mul(o,n),d=m.add(u).add(c);return V(r,s,d)})).setLayout({name:"reticularVeinsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"reticulation",type:"float"},{name:"strength",type:"float"},{name:"organelles",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function po(e={}){var{position:a,scale:t,reticulation:o,strength:n,organelles:s,color:r,background:l,seed:i}={...uo,...e};return co(a,t,o,n,s,r,l,i)}po.defaults=uo;var yo={$name:"Roman paving",position:k,scale:2,depth:.5,seed:0},vo=e((([e,a,t,o])=>{var n=e.mul(R(a)).add(o).toVar(),s=ee(n).toVar();return s.y.sub(s.x).pow(t.mul(3).sub(3).exp()).smoothstep(0,1)})).setLayout({name:"romanPavingRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"depth",type:"float"},{name:"seed",type:"float"}]});function fo(e={}){var{position:a,scale:t,depth:o,seed:n}={...yo,...e};return vo(a,t,o,n)}fo.defaults=yo;var go={$name:"Crumpled fabric",$width:260,position:k,scale:2,pinch:.5,color:new oe(11596031),subcolor:new oe(4210928),background:new oe(12288),seed:0},bo=e((([e,t,o,n,s,r,l])=>{var i=e.mul(R(t.sub(.5))).add(l).toVar();P(4,(()=>{var e=h(i.xyz),t=h(i.yzx),n=h(i.zxy);i.addAssign(a(e,t,n).mul(o))}));var m=h(i).add(1).div(2).clamp(0,1),u=n.mul(m.mul(2).sub(1).abs().oneMinus()),c=s.mul(m).pow(2),d=r.mul(m.oneMinus().pow(2));return u.add(c).add(d)})).setLayout({name:"crumpledFabricRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"pinch",type:"float"},{name:"color",type:"vec3"},{name:"subcolor",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function wo(e={}){var{position:a,scale:t,pinch:o,color:n,subcolor:s,background:r,seed:l}={...go,...e};return bo(a,t,o,n,s,r,l)}wo.defaults=go;var Vo={$name:"Isolayers",position:k,scale:2,layers:10,edge:.5,darkness:0,color:new oe(16777200),background:new oe(16728128),seed:0},ho=e((([e,a,t,o,n,s,r,l])=>{var i=e.mul(R(a.sub(1))).add(l).toVar(),m=o.remap(0,1,40,10),u=h(i,1.2,1).div(2),d=u.mul(t).round().div(t).clamp(0,1),p=u.sub(c(.53).div(t)).mul(t).fract().mul(c(2).pow(m.reciprocal())).pow(m).sub(1).abs().oneMinus(),y=V(ve(r),ve(s),d).toVar();return y.z.mulAssign(V(1,d.mul(1.5),n).clamp(0,1)),ye(y).sub(p)})).setLayout({name:"isolayersRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"layers",type:"int"},{name:"edge",type:"float"},{name:"darkness",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function xo(e={}){var{position:a,scale:t,layers:o,edge:n,darkness:s,color:r,background:l,seed:i}={...Vo,...e};return ho(a,t,o,n,s,r,l,i)}xo.defaults=Vo;var ko={$name:"Turbulent smoke",$width:260,position:k,scale:2,speed:0,details:5,time:x,seed:0},zo=e((([e,t,o,n,s,r])=>{var l=e.mul(R(t.sub(1))).add(r).toVar(),i=s.mul(o.sub(1).exp()),m=l.add(a(w(l.add(a(1,i.sin(),-1))),w(l.add(a(i.add(2*Math.PI/3).sin(),1,-1))),w(l.add(a(1,-1,i.add(4*Math.PI/3).sin()))))),u=ae(m,n);return H(l.add(u.div(2))).pow(4).mul(4).oneMinus()})).setLayout({name:"turbulentSmokeRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"speed",type:"float"},{name:"details",type:"int"},{name:"time",type:"float"},{name:"seed",type:"float"}]});function Lo(e={}){var{position:a,scale:t,speed:o,details:n,time:s,seed:r}={...ko,...e};return zo(a,t,o,n,s,r)}Lo.defaults=ko;var Ao={$name:"Caustics",position:k,scale:2,speed:0,time:x,color:new oe(5286080),seed:0},Ro=e((([e,t,o,n,s,r])=>{var l=e.mul(R(t.sub(1))).add(r).toVar(),i=n.mul(o.sub(1).exp()).add(a(0,2*Math.PI/3,4*Math.PI/3)).sin();return te(l.add(a(H(l.add(i.xyz)),H(l.add(i.yzx)),H(l.add(i.zxy))))).length().div(Math.sqrt(3)).add(s.sub(.5).mul(2))})).setLayout({name:"causticsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"speed",type:"float"},{name:"time",type:"float"},{name:"color",type:"vec3"},{name:"seed",type:"float"}]});function Mo(e={}){var{position:a,scale:t,speed:o,time:n,color:s,seed:r}={...Ao,...e};return Ro(a,t,o,n,s,r)}Mo.defaults=Ao;var $o={$name:"Bricks",position:k,scale:2,brickSize:new ne(2,1,2),brickShift:2,jointSize:.05,jointSpan:.5,jointJitter:.5,jointBlur:.03,noiseSize:.5,noiseStrength:.2,colorShade:.5,color:new oe(16728064),additional:new oe(13672496),background:new oe(11184810),seed:0},So=e((([e,t,o,n,s,r,i,m,u,d,p,y,v,f,g])=>{var b=e.mul(R(t)).add(g).toVar(),w=o,x=b.div(w).floor().div(n),k=a(x.y,0,x.y).toVar(),z=b.div(w).fract().add(k).fract().toVar(),L=ae(b.mul(ie(r,0,1,20,.2))).div(ie(i,0,1,500,1)).toVar(),A=l(z.mul(w).add(L.z).smoothstep(w.y.sub(s,m),w.y.sub(s)).y.oneMinus(),z.mul(w).add(L.y).smoothstep(s,s.add(m)).y,z.mul(w).add(L.y).smoothstep(w.x.sub(s,m),w.x.sub(s)).x.oneMinus(),z.mul(w).add(L.x).smoothstep(s,s.add(m)).x,z.mul(w).add(L.x).smoothstep(w.z.sub(s,m),w.z.sub(s)).z.oneMinus(),z.mul(w).add(L.z).smoothstep(s,s.add(m)).z).clamp(0,1),M=V(c(1),h(h(b.xyz.div(w).add(k).floor().zxy.mul(100).add(Math.PI)).mul(10)).add(2).div(2).pow(4).clamp(0,1),p),$=h(b.mul(ie(u,0,1,5,250))).mul(d).add(1),S=h(h(b.xyz.div(w).add(k).floor().zxy.mul(200).add(Math.PI)).mul(10)).add(1).div(1),P=V(y,v,S.pow(2));return V(f,M.mul(P,A),A).mul($)})).setLayout({name:"bricksRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"brickSize",type:"vec3"},{name:"brickShift",type:"float"},{name:"jointSize",type:"float"},{name:"jointSpan",type:"float"},{name:"jointJitter",type:"float"},{name:"jointBlur",type:"float"},{name:"noiseSize",type:"float"},{name:"noiseStrength",type:"float"},{name:"colorShade",type:"float"},{name:"color",type:"vec3"},{name:"additional",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Po(e={}){var{position:a,scale:t,brickSize:o,brickShift:n,jointSize:s,jointSpan:r,jointJitter:l,jointBlur:i,noiseSize:m,noiseStrength:u,colorShade:c,color:d,additional:p,background:y,seed:v}={...$o,...e};return So(a,t,o,n,s,r,l,i,m,u,c,d,p,y,v)}Po.defaults=$o,window.__TSL_TEXTURES__=3;export{le as approximateNormal,xe as brain,Po as bricks,Le as camouflage,Mo as caustics,Me as caveArt,mo as circleDecor,Pe as circles,Ee as clouds,Ne as concrete,Ge as cork,wo as crumpledFabric,Ue as dalmatianSpots,Oe as darthMaul,aa as dysonSphere,na as entangled,la as fordite,ua as gasGiant,pa as grid,de as hideFallbackWarning,ye as hsl,xo as isolayers,fa as isolines,wa as karstRock,xa as marble,La as neonLights,Ma as perlinNoise,Pa as photosphere,Ta as planet,_a as polkaDots,Da as processedWood,Ya as protozoa,ie as remapExp,po as reticularVeins,fo as romanPaving,ge as rotatePivot,Ka as rotator,et as roughClay,rt as runnyEggs,ct as rust,yt as satin,wt as scaler,xt as scepterHead,Lt as scream,be as selectPlanar,ce as showFallbackWarning,fe as spherical,Mt as stars,Pt as staticNoise,Et as supersphere,qt as tigerFur,ve as toHsl,jt as translator,Lo as turbulentSmoke,re as vnoise,Ht as voronoiCells,Xt as waterDrops,eo as watermelon,oo as wood,ro as zebraLines};
1
+ /*! TSL Textures v3.0.4 */
2
+ import{Fn as e,vec3 as a,sub as t,transformNormalToView as n,cross as o,remap as s,pow as r,mul as l,log2 as i,min as m,max as u,float as p,add as d,If as c,select as y,sin as v,cos as f,rotate as g,smoothstep as b,mx_fractal_noise_float as w,mix as V,mx_noise_float as h,time as x,positionGeometry as k,or as z,acos as L,clamp as A,exp as R,normalLocal as M,tangentLocal as $,int as S,Loop as C,oneMinus as P,abs as I,equirectUV as T,screenSize as E,exp2 as W,div as B,round as _,remapClamp as q,screenUV as D,sqrt as N,mat2 as F,mod as G,distance as j,radians as Y,matcapUV as U,mx_worley_noise_float as H,sign as O,tan as J,floor as K,screenCoordinate as X,reciprocal as Z,vec2 as Q,mx_worley_noise_vec2 as ee,mx_fractal_noise_vec3 as ae,mx_worley_noise_vec3 as te,vertexColor as ne,Discard as oe,Switch as se,positionView as re}from"three/tsl";export{mx_fractal_noise_float as fractal,mx_fractal_noise_vec3 as fractal3,mx_noise_float as noise,mx_noise_vec3 as noise3,mx_worley_noise_float as voronoi,mx_worley_noise_vec2 as voronoi2,mx_worley_noise_vec3 as voronoi3}from"three/tsl";import{Color as le,Vector3 as ie,Vector2 as me}from"three";const ue=e((([e])=>e.dot(a(12.9898,78.233,-97.5123)).sin().mul(43758.5453).fract().mul(2).sub(1))).setLayout({name:"vnoise",type:"float",inputs:[{name:"v",type:"vec3"}]}),pe=e((([e,a,s])=>{var r=t(a,e),l=t(s,e);return n(o(r,l).normalize())})).setLayout({name:"approximateNormal",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"posU",type:"vec3"},{name:"posV",type:"vec3"}]}),de=e((([e,a,t,n,o])=>(e=s(e,a,t,0,1),e=r(2,l(e,i(o.div(n))).add(i(n)))))).setLayout({name:"remapExp",type:"float",inputs:[{name:"x",type:"float"},{name:"fromMin",type:"float"},{name:"fromMax",type:"float"},{name:"toMin",type:"float"},{name:"toMax",type:"float"}]});var ce=null,ye=10;async function ve(){if(null!=navigator.gpu&&await navigator.gpu.requestAdapter())return;(ce=document.createElement("div")).innerHTML='\n\t<div style="font-size:1.25em; font-weight:bold;">PLEASE, WAIT</div>\n\t<div style="font-size:0.85em; font-weight:100;" >NO WEBGPU &mdash; TRYING WEBGL2</div>\n\t<div id="counter"></div>\n\t',ce.style.left="calc(50% - 8em)",ce.style.width="16em",ce.style.fontFamily="Bahnschrifts, Arial",ce.style.position="absolute",ce.style.bottom="20px",ce.style.padding="12px 6px",ce.style.border="1px solid white",ce.style.borderRadius="4px",ce.style.background="rgba(0,0,0,0.5)",ce.style.color="white",ce.style.textAlign="center",ce.style.opacity="0.8",ce.style.outline="none",ce.style.zIndex="999",document.body.appendChild(ce)}function fe(){ce&&(ye>0?ye--:(ce.style.display="none",ce=null))}const ge=e((([e,a,n,o])=>{var s=o.add(e.mul(12)).mod(12),r=a.mul(m(n,t(1,n)));return n.sub(r.mul(u(-1,m(m(s.sub(3),t(9,s)),1))))})).setLayout({name:"hslHelper",type:"float",inputs:[{name:"h",type:"float"},{name:"s",type:"float"},{name:"l",type:"float"},{name:"n",type:"float"}]}),be=e((([e])=>{var t=e.x.fract().add(1).fract(),n=e.y.clamp(0,1),o=e.z.clamp(0,1),s=ge(t,n,o,0),r=ge(t,n,o,8),l=ge(t,n,o,4);return a(s,r,l)})).setLayout({name:"hsl",type:"vec3",inputs:[{name:"col",type:"vec3"}]}),we=e((([e])=>{var n=p(e.x).toVar(),o=p(e.y).toVar(),s=p(e.z).toVar(),r=u(n,u(o,s)).toVar(),l=m(n,m(o,s)).toVar(),i=p(0).toVar(),v=p(0).toVar(),f=d(r,l).div(2);return c(l.notEqual(r),(()=>{const e=t(r,l).toVar();v.assign(y(f.lessThanEqual(.5),e.div(d(l,r)),e.div(t(2,d(l,r))))),c(r.equal(n),(()=>{i.assign(t(o,s).div(e).add(y(o.lessThanEqual(s),6,0)))})).ElseIf(r.equal(o),(()=>{i.assign(t(s,n).div(e).add(2))})).Else((()=>{i.assign(t(n,o).div(e).add(4))})),i.divAssign(6)})),a(i,v,f)}));we.setLayout({name:"toHsl",type:"vec3",inputs:[{name:"rgb",type:"vec3"}]});const Ve=e((([e,t])=>a(v(t).mul(v(e)),f(e),f(t).mul(v(e))))).setLayout({name:"spherical",type:"vec3",inputs:[{name:"phi",type:"float"},{name:"theta",type:"float"}]}),he=e((([e,a,t])=>g(e.sub(a),t).add(a))).setLayout({name:"rotatePivot",type:"vec3",inputs:[{name:"vector",type:"vec3"},{name:"pivot",type:"vec3"},{name:"angle",type:"vec3"}]}),xe=e((([e,a,t,n])=>{var o=Ve(a.x,a.y).mul(n).toVar(),s=t.sub(o.div(2)).sub(e).dot(o).div(o.dot(o)).negate();return b(0,1,s)})).setLayout({name:"selectPlanar",type:"float",inputs:[{name:"pos",type:"vec3"},{name:"selAngles",type:"vec2"},{name:"selCenter",type:"vec3"},{name:"selWidth",type:"float"}]});var ke={$name:"Brain",position:k,scale:2,smooth:.5,wave:.5,speed:2.5,time:x,color:new le(16765136),background:new le(5242880),seed:0},ze=e((([e,a,t,n,o,s])=>{var r=e.mul(a.div(3).exp()).add(s).toVar("pos"),l=t.oneMinus().mul(2).exp().toVar("octaves"),i=w(r.mul(5),l).add(1).div(2).clamp(0,1).pow(2);return V(n,o,i)})).setLayout({name:"brainRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"xsmooth",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]}),Le=e((([e,t,n,o,s,r,l])=>{var i=e.mul(t.div(3).exp()).add(l).toVar("pos"),m=n.oneMinus().mul(2).exp().toVar("octaves");const u=.01;var p=w(i.mul(5),m).toVar("n"),d=w(i.add(a(u,0,0)).mul(5),m).sub(p).div(u).toVar("dx"),c=w(i.add(a(0,u,0)).mul(5),m).sub(p).div(u).toVar("dy"),y=h(i.mul(o,5)).add(1).div(2).mul(6.28).toVar("dTime");return a(d,c,r.mul(s).add(y).sin().add(p,1)).normalize()})).setLayout({name:"brainNormalRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"xsmooth",type:"float"},{name:"wave",type:"float"},{name:"speed",type:"float"},{name:"time",type:"float"},{name:"seed",type:"float"}]});function Ae(e={}){var{position:a,scale:t,smooth:n,color:o,background:s,seed:r}={...ke,...e};return ze(a,t,n,o,s,r)}Ae.normal=function(e={}){var{position:a,scale:t,smooth:n,wave:o,speed:s,time:r,seed:l}={...ke,...e};return Le(a,t,n,o,s,r,l)},Ae.defaults=ke;var Re={$name:"Camouflage",position:k,scale:2,colorA:new le(12762792),colorB:new le(10258782),colorC:new le(9610101),colorD:new le(7435617),seed:0},Me=e((([e,a,t,n,o,s,r])=>{var l=e.mul(a.exp()).add(r).toVar("pos"),i=s.toVar("color");return c(h(l).greaterThanEqual(.3),(()=>{i.assign(t)})).ElseIf(h(l.yzx).greaterThanEqual(.2),(()=>{i.assign(n)})).ElseIf(h(l.zxy).greaterThanEqual(.1),(()=>{i.assign(o)})),i})).setLayout({name:"camouflageRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"},{name:"colorC",type:"vec3"},{name:"colorD",type:"vec3"},{name:"seed",type:"float"}]});function $e(e={}){var{position:a,scale:t,colorA:n,colorB:o,colorC:s,colorD:r,seed:l}={...Re,...e};return Me(a,t,n,o,s,r,l)}$e.defaults=Re;var Se={$name:"Cave art",position:k,scale:2,thinness:2,noise:.3,color:new le(13845829),background:new le(16775408),seed:0},Ce=e((([e,a,t,n,o,s,r])=>{var l=e.mul(a.exp()).add(r).toVar("pos");t=p(3).sub(t).exp();var i=h(l,4).sin().toVar("k1"),m=h(l.mul(1.5),4).cos().toVar("k2"),u=t.sub(i.add(m).abs().pow2().mul(20)).toVar("k");return c(z(i.greaterThan(m),u.lessThan(0)),(()=>{u.assign(0)})),c(u.lessThanEqual(0),(()=>{u.assign(n.mul(h(l.mul(30)).pow2()))})),V(s,o,u)})).setLayout({name:"caveArtRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Pe(e={}){var{position:a,scale:t,thinness:n,noise:o,color:s,background:r,seed:l}={...Se,...e};return Ce(a,t,n,o,s,r,l)}Pe.defaults=Se;var Ie={$name:"Circles",position:k,scale:2,variety:1,color:new le(15786192),seed:0},Te=e((([e,t,n,o,s])=>{for(var r=e.toVar(),l=L(A(r.y,-1,1)).mul(20).div(3e3).mul(R(t.sub(1))),i=s.sin().mul(100).toVar(),m=0;m<=10;m++)i.addAssign(v(l.mul(2**m).sub(Math.PI*m/2)).mul(-m*(m+1)/2));i.assign(i.div(200).clamp(-2,2));var u=we(o),p=u.x.add(i.mul(n)).mod(1).mul(10),d=p.floor(),c=p.sub(d);return c=y(c.lessThan(.5),c.pow(1.5),c.pow(1/1.5)),be(a(d.add(c).div(10),u.yz))})).setLayout({name:"circlesRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"variety",type:"float"},{name:"color",type:"vec3"},{name:"seed",type:"float"}]});function Ee(e={}){var{position:a,scale:t,variety:n,color:o,seed:s}={...Ie,...e};return Te(a,t,n,o,s)}Ee.defaults=Ie;var We={$name:"Clouds",position:k,scale:2,density:.5,opacity:1,color:new le(16777215),subcolor:new le(10526896),seed:0},Be=e((([e,a,t,n])=>{const o=e.mul(R(a.div(1.5).sub(.5))).add(n).toVar("pos");return w(o,4).add(t.remap(0,1,-.5,1.5))})).setLayout({name:"cloud_core",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"seed",type:"float"}]}),_e=e((([e,a,t,n,o,s])=>{var r=Be(e,a,t,s);return V(o,n,r.clamp(0,1))})).setLayout({name:"cloudsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"color",type:"vec3"},{name:"subcolor",type:"vec3"},{name:"seed",type:"float"}]}),qe=e((([e,a,t,n,o])=>{var s=Be(e,a,t,o);return A(0,1,l(s,2).pow(1.5).sub(1).mul(n))})).setLayout({name:"cloudsOpacityRaw",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"opacity",type:"float"},{name:"seed",type:"float"}]});function De(e={}){var{position:a,scale:t,density:n,color:o,subcolor:s,seed:r}={...We,...e};return _e(a,t,n,o,s,r)}De.opacity=function(e={}){var{position:a,scale:t,density:n,opacity:o,seed:s}={...We,...e};return qe(a,t,n,o,s)},De.defaults=We;var Ne={$name:"Concrete",$normalNode:!0,position:k,scale:2,density:.5,bump:.5,seed:0},Fe=e((([e,a,t])=>{var n=h(e,.5,.5).abs().pow(t);return e.add(a.mul(n))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"density",type:"float"}]}),Ge=e((([e,t,n,r,l,i,m])=>{var u=a(1,2,3).mul(m).sin().mul(100).toVar("seed3d"),p=e.mul(R(r.div(2).add(2))).add(u).toVar("xposition"),d=t.normalize().toVar("xnormal"),c=n.normalize().mul(.001).toVar("xtangent"),y=o(d,c).normalize().mul(.001).toVar("xbitangent"),v=s(l,0,1,10,.5).toVar("xdensity");d.mulAssign(i);var f=Fe(p,d,v).toVar("pos"),g=Fe(p.add(c),d,v).toVar("posU"),b=Fe(p.add(y),d,v).toVar("posV");return pe(f,g,b)})).setLayout({name:"concreteRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"bump",type:"float"},{name:"seed",type:"float"}]});function je(e={}){var{position:a,scale:t,density:n,bump:o,seed:s}={...Ne,...e};return Ge(a,M,$,t,n,o,s)}je.defaults=Ne;var Ye={$name:"Cork",position:k,scale:1,straight:1,noise:.3,color:new le(16773312),background:new le(13664352),seed:0},Ue=e((([e,t,n,o,s,r,l])=>{var i=e.mul(R(t.div(1.5).add(1))).add(l).toVar("pos"),m=i.round().toConst("midCell"),u=m.toVar("minCell"),d=p(1).toVar("minDist"),y=a().toVar("cell"),v=p().toVar("dist"),f=n.exp().reciprocal().toVar("strtaightness"),g=S(0).toVar("i"),b=S(0).toVar("j"),w=S(0).toVar("k");C(3,3,3,(()=>{y.assign(m.add(a(g,b,w).sub(1)));var e=y.add(ue(y));v.assign(i.distance(e)),v.addAssign(h(i.add(y),f)),c(v.lessThan(d),(()=>{d.assign(v),u.assign(y)}))}));var x=h(u.mul(Math.PI),.5,.5).toVar("n"),k=h(i.mul(12)).toVar("r");return k.mulAssign(k,k),k.addAssign(h(i.mul(40),1/3)),V(s,r,x.add(k.mul(o)))})).setLayout({name:"camouflageRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"straight",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function He(e={}){var{position:a,scale:t,straight:n,noise:o,color:s,background:r,seed:l}={...Ye,...e};return Ue(a,t,n,o,s,r,l)}He.defaults=Ye;var Oe={$name:"Dalmatian spots",$width:260,position:k,scale:2,density:.6,color:new le(16777215),background:new le(0),seed:0},Je=e((([e,a,t,n,o,s])=>{var r=e.mul(a.exp()).add(s).sub(1e3).toVar("pos"),l=p(1).toVar("k"),i=p(1.5).sub(t).mul(2).toVar("d"),m=t.mul(5).add(5).toVar("count");return C(m,(()=>{l.mulAssign(h(r).abs().pow(i).mul(100).sub(50).clamp(0,1).oneMinus()),r.assign(r.mul(1.01)),l.mulAssign(h(r.yzx).abs().pow(i).mul(100).sub(50).clamp(0,1).oneMinus()),r.assign(r.mul(1.01)),l.mulAssign(h(r.zxy).abs().pow(i).mul(100).sub(50).clamp(0,1).oneMinus()),r.assign(r.mul(1.01))})),V(o,n,l.clamp(0,1))})).setLayout({name:"dalmatianSpotsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ke(e={}){var{position:a,scale:t,density:n,color:o,background:s,seed:r}={...Oe,...e};return Je(a,t,n,o,s,r)}Ke.defaults=Oe;var Xe={$name:"Darth Maul",position:k,scale:2,shift:new ie(0,0,0),complexity:0,angle:60,distance:1.9,color:new le(15745088),background:new le(0),balance:0,seed:0},Ze=e((([e,t,n,o,s,r,l,i,m,u])=>{var p=e.add(n).mul(R(t.div(1.5).sub(1))).sub(n).mul(a(1,.5,.5)).toVar(),d=y(e.y.mul(s.radians().cos()).add(e.z.mul(s.radians().sin())).greaterThan(r),1,0);p.x.assign(p.x.add(n.x).abs()),p.y.addAssign(u),p.z.mulAssign(n.z);var c=h(p).toVar(),v=c.sin().mul(c.mul(o.mul(2).add(1).exp()).sin()).remap(0,.2,1,-1).greaterThan(m).select(0,1),f=y(p.x.greaterThan(h(p.mul(2.3)).abs().mul(.5).add(.02)),1,0);return V(i,l,v.mul(d).mul(f).clamp(0,1))})).setLayout({name:"darthMaulRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"shift",type:"vec3"},{name:"complexity",type:"float"},{name:"angle",type:"float"},{name:"distance",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"balance",type:"float"},{name:"seed",type:"float"}]});function Qe(e={}){var{position:a,scale:t,shift:n,complexity:o,angle:s,distance:r,color:l,background:i,balance:m,seed:u}={...Xe,...e};return Ze(a,t,n,o,s,r,l,i,m,u)}Qe.defaults=Xe;var ea={$name:"Dyson sphere",position:k,scale:2,complexity:2,variation:0,color:new le(12636415),background:new le(0),seed:0},aa=e((([e])=>{var t=e.mul(5**.5).fract().toVar();return t.addAssign(t.dot(t.add(a(31.4159,27.1828,14.142)))),t.z.mul(t.x.add(t.y)).fract().mul(2).sub(1)})).setLayout({name:"noisea",type:"float",inputs:[{name:"pos",type:"vec3"}]}),ta=e((([e])=>{var a=e.oneMinus().clamp(0,1).toVar();return a.mul(a).mul(p(3).sub(a.mul(2)))})).setLayout({name:"smoother",type:"float",inputs:[{name:"x",type:"float"}]}),na=e((([e])=>{var t=e.x.floor().toVar(),n=t.add(1).toVar(),o=e.y.floor().toVar(),s=o.add(1).toVar(),r=e.z.floor().toVar(),l=r.add(1).toVar(),i=ta(e.x.fract()).toVar(),m=ta(e.y.fract()).toVar(),u=ta(e.z.fract()).toVar(),p=ta(i.oneMinus()).toVar(),d=ta(m.oneMinus()).toVar(),c=ta(u.oneMinus()).toVar(),y=aa(a(t,o,r)).mul(p).mul(d).mul(c).toVar(),v=aa(a(t,o,l)).mul(p).mul(d).mul(u).toVar(),f=aa(a(t,s,r)).mul(p).mul(m).mul(c).toVar(),g=aa(a(t,s,l)).mul(p).mul(m).mul(u).toVar(),b=aa(a(n,o,r)).mul(i).mul(d).mul(c).toVar(),w=aa(a(n,o,l)).mul(i).mul(d).mul(u).toVar(),V=aa(a(n,s,r)).mul(i).mul(m).mul(c).toVar(),h=aa(a(n,s,l)).mul(i).mul(m).mul(u).toVar();return y.add(v).add(f).add(g).add(b).add(w).add(V).add(h)})).setLayout({name:"noiseg",type:"float",inputs:[{name:"pos",type:"vec3"}]}),oa=e((([e,t,n,o,s,r])=>{var l=e.mul(R(t.div(2).add(.5))).add(r).toVar(),i=a().toVar(),m=p(1).toVar();return C(n.add(4),(()=>{i.addAssign(na(l.mul(m))),m.addAssign(m)})),V(s,o,i.x.add(1).div(5))})).setLayout({name:"dysonSphereRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"complexity",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function sa(e={}){var{position:a,scale:t,complexity:n,color:o,background:s,seed:r}={...ea,...e};return oa(a,t,n,o,s,r)}sa.defaults=ea;var ra={$name:"Entangled",position:k,scale:2,density:10,color:new le(8256),background:new le(16777215),seed:0},la=e((([e,a,t,n,o,s])=>{var i=R(a.div(2)).toVar(),m=e.add(s).toVar(),d=p(-1e4).toVar(),c=p(0).toVar();return C(t,(()=>{c.assign(v(h(l(m,i)).mul(3*Math.PI))),d.assign(u(d,c)),i.mulAssign(1.2)})),d.assign(P(r(I(d),5)).mul(6)),V(n,o,d)})).setLayout({name:"entangled",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"int"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function ia(e={}){var{position:a,scale:t,density:n,color:o,background:s,seed:r}={...ra,...e};return la(a,t,n,o,s,r)}ia.defaults=ra;var ma={$name:"Fordite",position:k,scale:2,color:new le(0,0,0),seed:0},ua=e((([e,t,n,o])=>{var s=e.mul(R(t)).add(o).toVar(),r=h(a(h(s,1),h(s,2),h(s,3))).toVar();return be(a(r,1,v(l(r,Math.PI,4)).mul(.5).add(.5))).add(n)})).setLayout({name:"forditeRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"seed",type:"float"}]});function pa(e={}){var{position:a,scale:t,color:n,seed:o}={...ma,...e};return ua(a,t,n,o)}pa.defaults=ma;var da={$name:"Gas giant",position:k,scale:2,turbulence:.3,blur:.6,colorA:new le(16775408),colorB:new le(15788208),colorC:new le(11509968),seed:0},ca=e((([e,t,n,o,s,r,l,i])=>{var m=t.div(2).add(1).toVar(),u=e.mul(R(m)).add(i).toVar(),p=n.mul(h(a(0,u.y.mul(.5),0).add(1)).add(h(a(0,u.y.mul(1),0).add(1)).mul(.5),h(a(1,u.y.mul(2),1).add(1)).mul(.25))).mul(5).abs().toVar(),d=h(u.div(4)).add(1).div(2).pow(10).mul(10).smoothstep(0,1);u.addAssign(a(h(u),h(u.yxz),h(u.yzx)).mul(p.mul(d.mul(2).exp())));var c=o.pow(.2).oneMinus().mul(p.add(1)).toVar(),y=h(u.mul(a(0,m,0)));y=(y=y.add(h(u.mul(a(1,15,1))).mul(c))).add(-.5).smoothstep(-1,1).oneMinus();var v=h(a(0,u.y.mul(.75),0)).add(1),f=we(V(r,s,v)),g=be(a(f.x.add(h(u.mul(a(0,m,0))).div(4)),f.yz)).toVar();return g.assign(V(g,l,p.mul(.3))),g.mul(y)})).setLayout({name:"gasGiantRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"turbulence",type:"float"},{name:"blur",type:"float"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"},{name:"colorC",type:"vec3"},{name:"seed",type:"float"}]});function ya(e={}){var{position:a,scale:t,turbulence:n,blur:o,colorA:s,colorB:r,colorC:l,seed:i}={...da,...e};return ca(a,t,n,o,s,r,l,i)}ya.defaults=da;var va={$name:"Grid",$replaceExportUVS:D,$replaceExportASP:E.x.div(E.y).log2(),uvs:T(k.normalize()),countU:32,countV:16,aspect:1,thinness:.8,equirectangular:!0,color:new le(0),background:new le(16777215)},fa=e((([e,a,n,o,s,i,p,c])=>{var y=u(W(o),1),f=l(e.x,y,Math.PI).toVar(),g=l(e.y,Math.PI).toVar(),w=B(_(l(e.x,a)),a),h=B(_(l(e.y,n)),n),x=l(w,y,Math.PI),k=l(h,Math.PI),z=I(t(f,x)).mul(V(1,v(g),i)),L=I(t(g,k)),A=m(z,L),R=l(m(B(y.mul(Math.PI),a),B(Math.PI,n)),q(r(s,.5),0,1,.9,.04),.5),M=P(b(t(R,.002),d(R,.002),A));return V(c,p,M)})).setLayout({name:"gridRaw",type:"vec3",inputs:[{name:"uvs",type:"vec2"},{name:"countU",type:"float"},{name:"countV",type:"float"},{name:"aspect",type:"float"},{name:"thinness",type:"float"},{name:"equirectangular",type:"int"},{name:"color",type:"vec3"},{name:"background",type:"vec3"}]});function ga(e={}){var{uvs:a,countU:t,countV:n,aspect:o,thinness:s,equirectangular:r,color:l,background:i}={...va,...e};return fa(a,t,n,o,s,r,l,i)}ga.defaults=va;var ba={$name:"Isolines",position:k,scale:2,density:40,blur:.3,thinness:.6,color:new le(16777215),background:new le(0),seed:0},wa=e((([e,a,n,o,s,r,l,i])=>{var m=e.mul(R(a)).add(i).toVar(),u=h(m,n);return u=P(v(u)).div(2),u=b(t(s,o),d(s,o),u),V(r,l,u)})).setLayout({name:"isolinesRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"blur",type:"float"},{name:"thinness",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Va(e={}){var{position:a,scale:t,density:n,blur:o,thinness:s,color:r,background:l,seed:i}={...ba,...e};return wa(a,t,n,o,s,r,l,i)}Va.defaults=ba;var ha={$name:"Karst rock",position:k,scale:2,color:new le(16774384),background:new le(13684944),seed:0},xa=e((([e,a,t,n,o])=>{var s=e.mul(R(a)).add(o.sin().mul(5)).toVar(),r=s.add(h(s.mul(2))).toVar(),l=h(r).div(h(r.mul(1.01))).clamp(0,2).toVar();return l.addAssign(h(s.mul(100)).div(3)),l.addAssign(h(s.mul(2)).div(2)),V(n,t,l).mul(l.pow(.1))})).setLayout({name:"karstRockRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function ka(e={}){var{position:a,scale:t,color:n,background:o,seed:s}={...ha,...e};return xa(a,t,n,o,s)}ka.defaults=ha;var za={$name:"Marble",position:k,scale:1.2,thinness:5,noise:.3,color:new le(4539859),background:new le(15792383),seed:0},La=e((([e,a,t,n,o,s,i])=>{var m=e.mul(R(a)).add(i).toVar(),u=d(h(m),h(m.mul(2)).mul(.5),h(m.mul(6)).mul(.1)),p=(u=P(u.abs().pow(2.5)).toVar(),P(r(.5,t.add(7))).toVar()),y=P(r(.5,t.add(7).mul(.5))).toVar();return c(u.greaterThan(p),(()=>{u.assign(1)})).ElseIf(u.lessThan(y),(()=>{u.assign(0)})).Else((()=>{var e=u.sub(y),a=p.sub(y);u.assign(r(B(e,a),5).mul(.75)),u.assign(u.mul(d(.5,h(m.mul(2)).mul(1.5))))})),u.assign(u.add(l(n,h(m.mul(150)).abs().pow3()))),V(s,o,u)})).setLayout({name:"marbleRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Aa(e={}){var{position:a,scale:t,thinness:n,noise:o,color:s,background:r,seed:l}={...za,...e};return La(a,t,n,o,s,r,l)}Aa.defaults=za;var Ra={$name:"Neon Lights",position:k,scale:2,thinness:.8,mode:0,colorA:new le(16711680),colorB:new le(65280),colorC:new le(255),background:new le(0),seed:0},Ma=e((([e,t,n,o,s,r,l,i,m])=>{var u=e,p=R(t.remap(0,4,-2,2)).toVar(),d=R(n.remap(0,1,1.5,0)).toVar(),c=i.toVar(),v=a(0).toVar(),f=h(u.xyz).toVar(),g=h(u.yzx).toVar(),b=h(u.zxy).toVar(),w=h(a(f,g,b).mul(p).add(m)).toVar();w.assign(P(N(I(w))).pow(3)),v.assign(s);var V=we(v);v.assign(be(a(V.xy,V.z.mul(w)))),c.addAssign(y(o.equal(0),v,v.negate()).mul(d)),w.assign(h(a(g,b,f).mul(p).sub(m))),w.assign(P(N(I(w))).pow(3)),v.assign(r);V=we(v);v.assign(be(a(V.xy,V.z.mul(w)))),c.addAssign(y(o.equal(0),v,v.negate()).mul(d)),w.assign(h(a(b,f,g.negate()).mul(p).add(m))),w.assign(P(N(I(w))).pow(3)),v.assign(l);V=we(v);return v.assign(be(a(V.xy,V.z.mul(w)))),c.addAssign(y(o.equal(0),v,v.negate()).mul(d)),c})).setLayout({name:"neonLightsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"node",type:"float"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"},{name:"colorC",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function $a(e={}){var{position:a,scale:t,thinness:n,mode:o,colorA:s,colorB:r,colorC:l,background:i,seed:m}={...Ra,...e};return Ma(a,t,n,o,s,r,l,i,m)}$a.defaults=Ra;var Sa={$name:"Perlin noise",position:k,scale:2,balance:0,contrast:0,color:new le(16777215),background:new le(0),seed:0},Ca=e((([e,a,t,n,o,s,r])=>{var l=e.mul(R(a)).add(r),i=A(0,1,h(l).mul(.5,R(n)).add(.5,t));return V(s,o,i)})).setLayout({name:"perlinNoiseRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"balance",type:"float"},{name:"contrast",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Pa(e={}){var{position:a,scale:t,balance:n,contrast:o,color:s,background:r,seed:l}={...Sa,...e};return Ca(a,t,n,o,s,r,l)}Pa.defaults=Sa;var Ia={$name:"Photosphere",position:k,scale:2,color:new le(16776960),background:new le(16711680),seed:0},Ta=e((([e,t,n,o,s])=>{var r=R(t.add(1)).toVar(),l=e.toVar(),i=a(l).toVar();C(6,(()=>{i.assign(g(i,l.mul(r))),r.mulAssign(s.mul(r).sin().mul(.05).add(1.1))}));var m=h(i).add(1).div(2);return V(o,n,m)})).setLayout({name:"photosphereRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ea(e={}){var{position:a,scale:t,color:n,background:o,seed:s}={...Ia,...e};return Ta(a,t,n,o,s)}Ea.defaults=Ia;var Wa={$name:"Planet",position:k,scale:2,iterations:5,levelSea:.3,levelMountain:.7,balanceWater:.3,balanceSand:.2,balanceSnow:.8,colorDeep:new le(1194585).convertLinearToSRGB(),colorShallow:new le(8900331).convertLinearToSRGB(),colorBeach:new le(16775885).convertLinearToSRGB(),colorGrass:new le(3978097).convertLinearToSRGB(),colorForest:new le(12288).convertLinearToSRGB(),colorSnow:new le(15794175).convertLinearToSRGB(),seed:0},Ba=e((([e,t,n,o,r,i,m,u,d,y,v,f,g,w,x])=>{var k=p(0).toVar(),z=p(0).toVar(),L=R(t.sub(2)).toVar(),A=p(2).toVar();C(n.add(10),(()=>{k.addAssign(l(A,h(e.mul(L).add(x)))),z.addAssign(A),L.mulAssign(1.5),A.mulAssign(.8)})),k.assign(l(k,k,.5).div(z));o=o.pow(2).toVar(),r=r.pow(2).toVar();var M=V(o,r,m).toVar(),$=V(o,M,.4).toVar(),S=V(o,M,.6).toVar(),P=a().toVar();return c(k.lessThan(o),(()=>{P.assign(V(d,y,s(k,0,o,0,1).pow(R(i.mul(-8).add(4)))))})).ElseIf(k.lessThan($),(()=>{P.assign(V(y,v,s(k,o,$)))})).ElseIf(k.lessThan(S),(()=>{P.assign(v)})).ElseIf(k.lessThan(M),(()=>{P.assign(V(v,f,s(k,S,M)))})).ElseIf(k.lessThan(r),(()=>{P.assign(V(f,g,s(k,M,r).pow(.75)))})).Else((()=>{var e=V(1,r,u);P.assign(V(g,w,b(V(e,r,u.pow(.5)),e,k)))})),P})).setLayout({name:"planetRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"levelSea",type:"float"},{name:"levelMountain",type:"float"},{name:"balanceWater",type:"float"},{name:"balanceSand",type:"float"},{name:"balanceSnow",type:"float"},{name:"colorDeep",type:"vec3"},{name:"colorShallow",type:"vec3"},{name:"colorBeach",type:"vec3"},{name:"colorGrass",type:"vec3"},{name:"colorForest",type:"vec3"},{name:"colorSnow",type:"vec3"},{name:"seed",type:"float"}]});function _a(e={}){var{position:a,scale:t,iterations:n,levelSea:o,levelMountain:s,balanceWater:r,balanceSand:l,balanceSnow:i,colorDeep:m,colorShallow:u,colorBeach:p,colorGrass:d,colorForest:c,colorSnow:y,seed:v}={...Wa,...e};return Ba(a,t,n,o,s,r,l,i,m,u,p,d,c,y,v)}_a.defaults=Wa;var qa={$name:"Polka dots",position:k,count:2,size:.5,blur:.25,color:new le(0),background:new le(16777215),flat:0},Da=(1+5**.5)/2,Na=e((([e,a,t,n,o,s,i])=>{var y=p(1).toVar();c(i.equal(1),(()=>{var t=a.pow(2).sub(.5).toVar(),n=e.xy.mul(t).mul(F(1,1,-1,1)),o=n.round().toVar();y.assign(n.distance(o).div(t))})).Else((()=>{var t=r(10,a).toVar(),n=e.normalize().toVar(),o=P(n.y).mul(t).sub(1).div(2),s=u(10,t.pow(.5)),i=o.sub(s).floor().clamp(0,t),c=o.add(s).floor().clamp(0,t);y.assign(1).toVar(),C(c.sub(i),(({i:e})=>{var a=d(e,i),o=G(l(2*Math.PI/Da,a),2*Math.PI),s=L(P(p(a).mul(2).add(1).div(t))),r=Ve(s,o);y.assign(m(y,j(n,r)))}))}));var v=R(t.mul(5).sub(5)).toVar(),f=n.pow(4).toVar(),g=b(v.sub(f),v.add(f),y);return V(o,s,g)})).setLayout({name:"polkaDotsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"count",type:"float"},{name:"size",type:"float"},{name:"blur",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"xflat",type:"int"}]});function Fa(e={}){var{position:a,count:t,size:n,blur:o,color:s,background:r,flat:l}={...qa,...e};return Na(a,t,n,o,s,r,l)}Fa.defaults=qa;var Ga={$name:"Processed wood",$width:260,position:k,scale:2,lengths:4,strength:.3,angle:0,color:new le(7348256),background:new le(15782048),seed:0},ja=e((([e,n,o,s,r,l,i,m])=>{r=Y(r).toVar();var u=a(t(e.x.mul(f(r)),e.y.mul(v(r))),d(e.x.mul(v(r)),e.y.mul(f(r))),e.z).toVar(),p=n.div(2).add(1).toVar(),c=u.mul(R(n)).add(m).toVar(),y=o.add(5).reciprocal().toVar(),g=h(c.mul(p,a(1,y,y)));return g=(g=g.mul(h(c.mul(a(25,1,1))).add(-1).mul(.2))).add(s.sub(.5)).smoothstep(-.3,.3).oneMinus(),V(l,i,g)})).setLayout({name:"processedWoodRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"lengths",type:"float"},{name:"strength",type:"float"},{name:"angle",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ya(e={}){var{position:a,scale:t,lengths:n,strength:o,angle:s,color:r,background:l,seed:i}={...Ga,...e};return ja(a,t,n,o,s,r,l,i)}Ya.defaults=Ga;var Ua={$name:"Protozoa",position:k,matcap:U,scale:1.5,fat:.7,amount:.4,color:new le(10526880),subcolor:new le(14739711),background:new le(15792383),seed:0},Ha=e((([e,a])=>h(e).mul(a).clamp(-3.14,3.14).cos().add(1).div(2))).setLayout({name:"pnoise",type:"float",inputs:[{name:"pos",type:"vec3"},{name:"fat",type:"float"}]}),Oa=e((([e,t,n,o,s,r,l,i,m])=>{var u=e.mul(R(n.sub(1))).add(m).toVar(),d=a(t,t.length()).toVar(),c=p(0).toVar(),y=p(0).toVar(),v=p(0).toVar(),f=p(0).toVar(),g=(o=o.add(.2).oneMinus().mul(60).add(30).toVar(),p(2).toVar()),b=s.div(2).add(.5).exp().toVar();return C(10,(()=>{c.assign(Ha(u.xyz.add(d),o)),y.assign(Ha(u.yzx.add(d),o)),v.addAssign(c.mul(y).mul(g)),f.addAssign(c.max(y).mul(g)),u.assign(V(u.mul(b),0,.4)),g.mulAssign(.9)})),V(i,V(r,l,f.mul(.1)),v)})).setLayout({name:"protozoaRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"matcap",type:"vec2"},{name:"scale",type:"float"},{name:"fat",type:"float"},{name:"amount",type:"float"},{name:"color",type:"vec3"},{name:"subcolor",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Ja(e={}){var{position:a,matcap:t,scale:n,fat:o,amount:s,color:r,subcolor:l,background:i,seed:m}={...Ua,...e};return Oa(a,t,n,o,s,r,l,i,m)}Ja.defaults=Ua;var Ka={$name:"Rotator",$positionNode:!0,$selectorPlanar:!0,angles:new ie(-.2,.7,0),center:new ie(0,0,0),selectorCenter:new ie(0,0,0),selectorAngles:new me(0,0),selectorWidth:2},Xa=e((([e,a,t,n,o,s])=>{var r=xe(e,n,o,s);return he(e,t,a.mul(r))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"angles",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Za=e((([e,a,t,n,o])=>Xa(k,e,a,t,n,o))).setLayout({name:"rotatorRaw",type:"vec3",inputs:[{name:"angles",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Qa=e((([e,a,t,n,s])=>{var r=k,l=M.normalize().toVar(),i=$.normalize().mul(.01).toVar(),m=o(l,i).normalize().mul(.01).toVar(),u=Xa(r,e,a,t,n,s),p=Xa(r.add(i),e,a,t,n,s),d=Xa(r.add(m),e,a,t,n,s);return pe(u,p,d)})).setLayout({name:"rotatorNormalRaw",type:"vec3",inputs:[{name:"angles",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]});function et(e={}){var{angles:a,center:t,selectorAngles:n,selectorCenter:o,selectorWidth:s}={...Ka,...e};return Za(a,t,n,o,s)}et.normal=function(e={}){var{angles:a,center:t,selectorAngles:n,selectorCenter:o,selectorWidth:s}={...Ka,...e};return Qa(a,t,n,o,s)},et.defaults=Ka;var at={$name:"Rough clay",$normalNode:!0,position:k,scale:2,bump:.5,curvature:.2,seed:0},tt=e((([e,a,t])=>{var n=H(e.add(h(e).mul(t))).add(.8).pow(5).toVar();return n.addAssign(n.pow(.5)),e.add(a.mul(n))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"curvature",type:"float"}]}),nt=e((([e,a,t,n,s,r,l])=>{var i=e.mul(R(n.div(2))).add(l.sin().mul(10)).toVar(),m=a.normalize().toVar(),u=t.normalize().mul(.001).toVar(),p=o(m,u).normalize().mul(.001).toVar();m.mulAssign(s,.02);var d=tt(i,m,r),c=tt(i.add(u),m,r),y=tt(i.add(p),m,r);return pe(d,c,y)})).setLayout({name:"concreteRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"bump",type:"float"},{name:"curvature",type:"float"},{name:"seed",type:"float"}]});function ot(e={}){var{position:a,scale:t,bump:n,curvature:o,seed:s}={...at,...e};return nt(a,M,$,t,n,o,s)}ot.defaults=at;var st={$name:"Runny eggs",position:k,scale:1,sizeYolk:.2,sizeWhite:.7,colorYolk:new le("orange"),colorWhite:new le("white"),colorBackground:new le("lightgray"),seed:0},rt=e((([e,a,t,n])=>{var o=H(e).toVar(),s=o.add(n).pow(8).oneMinus(),r=o.add(t).pow(18).oneMinus().clamp(0,1),l=V(0,V(0,1,r),s);return e.add(a.mul(l))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"normal",type:"vec3"},{name:"sizeYolk",type:"float"},{name:"sizeWhite",type:"float"}]}),lt=e((([e,a,t,n,o,s,r,l])=>{var i=e.mul(R(a)).add(l.sin().mul(10)).toVar(),m=H(i).toVar(),u=m.add(n.oneMinus()).pow(8).oneMinus().clamp(-.5,1),p=m.add(t.oneMinus()).pow(18).oneMinus().clamp(0,1).pow(.4).clamp(0,1);return V(r,V(s,o,p),u)})).setLayout({name:"runnyEggsRaw",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"normal",type:"vec3"},{name:"sizeYolk",type:"float"},{name:"sizeWhite",type:"float"},{name:"colorYolk",type:"vec3"},{name:"colorWhite",type:"vec3"},{name:"colorBackground",type:"vec3"},{name:"seed",type:"float"}]}),it=e((([e,a,t,n,s,r,l])=>{var i=e.mul(R(n)).add(l.sin().mul(10)).toVar(),m=a.normalize().toVar(),u=t.normalize().mul(.001).toVar(),p=o(m,u).normalize().mul(.001).toVar(),d=s.oneMinus(),c=r.oneMinus();m.mulAssign(.05);var y=rt(i,m,d,c),v=rt(i.add(u),m,d,c),f=rt(i.add(p),m,d,c);return pe(y,v,f)})).setLayout({name:"runnyEggsNormalRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"sizeYolk",type:"float"},{name:"sizeWhite",type:"float"},{name:"seed",type:"float"}]}),mt=e((([e,a,t,n])=>{var o=e.mul(R(a)).add(n.sin().mul(10)).toVar();return H(o).toVar().add(t.oneMinus()).pow(18).clamp(0,1)})).setLayout({name:"runnyEggsRoughnessRaw",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"sizeYolk",type:"float"},{name:"seed",type:"float"}]});function ut(e={}){var{position:a,scale:t,sizeYolk:n,sizeWhite:o,colorYolk:s,colorWhite:r,colorBackground:l,seed:i}={...st,...e};return lt(a,t,n,o,s,r,l,i)}ut.normal=function(e={}){var{position:a,scale:t,sizeYolk:n,sizeWhite:o,seed:s}={...st,...e};return it(a,M,$,t,n,o,s)},ut.roughness=function(e={}){var{position:a,scale:t,sizeYolk:n,seed:o}={...st,...e};return mt(a,t,n,o)},ut.defaults=st;var pt={$name:"rust",position:k,scale:2,iterations:8,amount:-.3,opacity:.5,noise:.5,noiseScale:.5,color:new le(12615680),background:new le(32),seed:0},dt=e((([e,a,t,n,o])=>{var s=e.mul(R(a.div(4).add(-1))).add(o).toVar(),r=n.mul(h(s.mul(n.div(2).add(4))).add(4)).toVar(),l=h(s).toVar();return C(t,(()=>{s.mulAssign(2),l.addAssign(h(s))})),l.subAssign(h(s.mul(2)).abs()),l.assign(l.sub(r).clamp(0,15)),l})).setLayout({name:"_rust",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"amount",type:"float"},{name:"seed",type:"float"}]}),ct=e((([e,a,t,n,o,s,r,l,i])=>{var m=dt(e,a,t,n,i).mul(1.25).pow(.5),u=e.mul(R(a.add(s.mul(3),2)));return m.addAssign(o.mul(h(u).abs().add(.1).pow(2))),V(r,l,m)})).setLayout({name:"rustRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"amount",type:"float"},{name:"xnoise",type:"float"},{name:"noiseScale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]}),yt=e((([e,a,t,n,o,s])=>dt(e,a,t,n,s).mul(o.add(.2)).oneMinus())).setLayout({name:"rustOpacityRaw",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"iterations",type:"int"},{name:"amount",type:"float"},{name:"opacity",type:"float"},{name:"seed",type:"float"}]});function vt(e={}){var{position:a,scale:t,iterations:n,amount:o,noise:s,noiseScale:r,color:l,background:i,seed:m}={...pt,...e};return ct(a,t,n,o,s,r,l,i,m)}vt.opacity=function(e={}){var{position:a,scale:t,iterations:n,amount:o,opacity:s,seed:r}={...pt,...e};return yt(a,t,n,o,s,r)},vt.defaults=pt;var ft={$name:"Satin",position:k,scale:2,color:new le(7373055),background:new le(80),seed:0},gt=e((([e,t,n,o,s])=>{var r=e.toVar("pos"),l=(t=t.div(3).exp().toVar("xscale"),h(a(h(a(r.x.mul(2),r.y,r.z).mul(t)),h(a(r.x,r.y.mul(2),r.z).mul(t)),h(a(r.x,r.y,r.z.mul(2)).mul(t))).mul(t).add(s)).abs().pow(3).mul(20).toVar("k"));return V(o,n,l)})).setLayout({name:"satinRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function bt(e={}){var{position:a,scale:t,color:n,background:o,seed:s}={...ft,...e};return gt(a,t,n,o,s)}bt.defaults=ft;var wt={$name:"Scaler",$positionNode:!0,$selectorPlanar:!0,scales:new ie(.01,.9,1.7),center:new ie(0,0,0),selectorCenter:new ie(0,0,0),selectorAngles:new me(0,0),selectorWidth:2},Vt=e((([e,t,n,o,s,r])=>{var l=xe(e,o,s,r),i=V(a(1,1,1),t,l);return e.sub(n).mul(i).add(n)})),ht=e((([e,a,t,n,o])=>Vt(k,e,a,t,n,o))).setLayout({name:"scalerRaw",type:"vec3",inputs:[{name:"scales",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),xt=e((([e,a,t,n,s])=>{var r=k,l=M.normalize().toVar(),i=$.normalize().mul(.01).toVar(),m=o(l,i).normalize().mul(.01).toVar(),u=Vt(r,e,a,t,n,s),p=Vt(r.add(i),e,a,t,n,s),d=Vt(r.add(m),e,a,t,n,s);return pe(u,p,d)})).setLayout({name:"scalerNormalRaw",type:"vec3",inputs:[{name:"scales",type:"vec3"},{name:"center",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]});function kt(e={}){var{scales:a,center:t,selectorAngles:n,selectorCenter:o,selectorWidth:s}={...wt,...e};return ht(a,t,n,o,s)}kt.normal=function(e={}){var{scales:a,center:t,selectorAngles:n,selectorCenter:o,selectorWidth:s}={...wt,...e};return xt(a,t,n,o,s)},kt.defaults=wt;var zt={$name:"Scepter head",position:k,xFactor:10,yFactor:22,zFactor:10,colorRim:new le(16777215),colorA:new le(7397631),colorB:new le(3145983)},Lt=e((([e,t,n,o,s,r,i])=>{var m=e.toVar("pos"),p=m.x.mul(de(t,0,100,1.35,30)).toVar("fx"),c=m.y.mul(de(n,0,100,1.35,30)).toVar("fy"),y=m.z.mul(de(o,0,100,1.35,30)).toVar("fz"),v=f(p),g=f(c),b=f(y),w=h(a(m.x.div(v),m.y.div(g),m.z.div(b)));w=O(w).mul(I(w).pow(.75));var x=I(l(p,J(p)).add(1).div(v)),k=I(l(c,J(c)).add(1).div(g)),z=I(l(y,J(y)).add(1).div(b)),L=a().toVar(),A=I(K(p.mul(2/Math.PI).add(1).div(2))),R=I(K(c.mul(2/Math.PI).add(1).div(2))),M=I(K(y.mul(2/Math.PI).add(1).div(2))),$=G(d(A,R,M),2);L.assign(we(V(r,i,$)));var S=be(a(L.xy,L.z.mul(w))).toVar("color1");L.assign(we(s));var C=be(a(L.xy,l(2,w,L.z))).toVar("color2");return V(S,C,q(u(x,u(k,z)),45,65))})).setLayout({name:"scepterHeadRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"xFactor",type:"float"},{name:"yFactor",type:"float"},{name:"zFactor",type:"float"},{name:"colorRim",type:"vec3"},{name:"colorA",type:"vec3"},{name:"colorB",type:"vec3"}]});function At(e={}){var{position:a,xFactor:t,yFactor:n,zFactor:o,colorRim:s,colorA:r,colorB:l}={...zt,...e};return Lt(a,t,n,o,s,r,l)}At.defaults=zt;var Rt={$name:"Scream",position:k,scale:2,variety:1,color:new le(15790176),background:new le(13668496),seed:0},Mt=e((([e,t,n,o,s,r])=>{var l=e.mul(R(t)).add(r).toVar("pos"),i=h(d(v(l.xyz),f(l.yzx)));l.assign(e.mul(R(t).mul(i)).add(r));i=h(d(v(l.xyz),f(l.yzx)).mul(2));var m=V(s,o,i).toVar("col"),u=we(m).toVar("HSL");return be(a(d(u.x,n.mul(v(i.mul(Math.PI))).mul(.5)),u.yz))})).setLayout({name:"satinRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"variety",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function $t(e={}){var{position:a,scale:t,variety:n,color:o,background:s,seed:r}={...Rt,...e};return Mt(a,t,n,o,s,r)}$t.defaults=Rt;var St={$name:"Stars",position:k,scale:2,density:2,variation:0,color:new le(16774640),background:new le(96),seed:0},Ct=e((([e,t,n,o,s,r,l])=>{var i=e.mul(R(t.div(2).add(3))).add(l).toVar(),m=I(h(i)).pow(10).mul(10);m=m.mul(R(n.sub(2)));var u=y(m.greaterThan(.1),o.mul(h(i)),0),p=we(V(r,s,m));return be(a(d(p.x,u),p.yz))})).setLayout({name:"starsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"variation",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Pt(e={}){var{position:a,scale:t,density:n,variation:o,color:s,background:r,seed:l}={...St,...e};return Ct(a,t,n,o,s,r,l)}Pt.defaults=St;var It={$name:"Static noise",position:X,time:x,scale:2,balance:0,contrast:0,delay:0,seed:0},Tt=e((([e,t,n,o,s,r,l])=>{var i=e.div(R(n)).add(l),m=r.sub(1).mul(5).exp(),u=t.div(m).round().mul(m),p=ue(u.sin()).mul(1e3),d=A(0,1,h(i.add(p)));return d=d.mul(.5,R(s)).add(.5,o),a(d)})).setLayout({name:"staticNoiseRaw",type:"vec3",inputs:[{name:"position",type:"vec2"},{name:"time",type:"float"},{name:"scale",type:"float"},{name:"balance",type:"float"},{name:"contrast",type:"float"},{name:"delay",type:"float"},{name:"seed",type:"float"}]});function Et(e={}){var{position:a,time:t,scale:n,balance:o,contrast:s,delay:r,seed:l}={...It,...e};return Tt(a,t,n,o,s,r,l)}Et.defaults=It;var Wt={$name:"Supersphere",$positionNode:!0,exponent:3},Bt=e((([e,a])=>{var t=p(2).pow(a),n=e.div(e.length()).toVar(),o=n.abs().pow(t).toVar(),s=o.x.add(o.y).add(o.z).pow(t.reciprocal());return n.div(s)})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"exponent",type:"float"}]}),_t=e((([e])=>Bt(k,e))).setLayout({name:"supersphereRaw",type:"vec3",inputs:[{name:"exponent",type:"float"}]}),qt=e((([e])=>{var a=k,t=M.normalize().toVar(),n=$.normalize().mul(.01).toVar(),s=o(t,n).normalize().mul(.01).toVar(),r=Bt(a,e),l=Bt(a.add(n),e),i=Bt(a.add(s),e);return pe(r,l,i)})).setLayout({name:"supersphereRaw",type:"vec3",inputs:[{name:"exponent",type:"float"}]});function Dt(e={}){var{exponent:a}={...Wt,...e};return _t(a)}Dt.normal=function(e={}){var{exponent:a}={...Wt,...e};return qt(a)},Dt.defaults=Wt;var Nt={$name:"Tiger fur",position:k,scale:2,lengths:4,blur:.3,strength:.3,hairs:.5,color:new le(16755200),bottomColor:new le(16777198),seed:0},Ft=e((([e,t,n,o,s,r,l,i,m])=>{var u=t.div(2).add(1).toVar(),p=e.mul(R(u)).add(m).toVar(),d=n.add(5).reciprocal().toVar(),c=(r=r.mul(.3).toVar(),h(p.mul(u,a(1,d,d))));c=(c=c.add(h(p.mul(a(25,1,1))).add(1).mul(r))).add(s.sub(.5)).smoothstep(o.negate(),o).oneMinus();var y=e.y.add(r.sub(.5)).smoothstep(-1,.5);return V(i,l,y).mul(c)})).setLayout({name:"tigerFurRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"lengths",type:"float"},{name:"blur",type:"float"},{name:"strength",type:"float"},{name:"hairs",type:"float"},{name:"color",type:"vec3"},{name:"bottomColor",type:"vec3"},{name:"seed",type:"float"}]});function Gt(e={}){var{position:a,scale:t,lengths:n,blur:o,strength:s,hairs:r,color:l,bottomColor:i,seed:m}={...Nt,...e};return Ft(a,t,n,o,s,r,l,i,m)}Gt.defaults=Nt;var jt={$name:"Translator",$positionNode:!0,$selectorPlanar:!0,distance:new ie(-.5,0,.2),selectorCenter:new ie(0,0,0),selectorAngles:new me(0,0),selectorWidth:.7},Yt=e((([e,a,t,n,o])=>{var s=xe(e,t,n,o);return e.add(a.mul(s))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"pos",type:"vec3"},{name:"distance",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Ut=e((([e,a,t,n])=>Yt(k,e,a,t,n))).setLayout({name:"translatorRaw",type:"vec3",inputs:[{name:"distance",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]}),Ht=e((([e,a,t,n])=>{var s=k,r=M.normalize().toVar(),l=$.normalize().mul(.01).toVar(),i=o(r,l).normalize().mul(.01).toVar(),m=Yt(s,e,a,t,n),u=Yt(s.add(l),e,a,t,n),p=Yt(s.add(i),e,a,t,n);return pe(m,u,p)})).setLayout({name:"translatorNormalRaw",type:"vec3",inputs:[{name:"distance",type:"vec3"},{name:"selectorAngles",type:"vec2"},{name:"selectorCenter",type:"vec3"},{name:"selectorWidth",type:"float"}]});function Ot(e={}){var{distance:a,selectorAngles:t,selectorCenter:n,selectorWidth:o}={...jt,...e};return Ut(a,t,n,o)}Ot.normal=function(e={}){var{distance:a,selectorAngles:t,selectorCenter:n,selectorWidth:o}={...jt,...e};return Ht(a,t,n,o)},Ot.defaults=jt;var Jt={$name:"Voronoi cells",position:k,scale:2,variation:0,facet:0,color:new le(0),background:new le(12636415),seed:0},Kt=e((([e,t,n,o,s,r,l])=>{var i=e.mul(R(t.div(2).add(.5))).add(l).toVar(),m=i.round().toVar(),u=m.toVar(),d=p(1).toVar(),y=a().toVar(),v=p().toVar(),f=S(0).toVar("i"),g=S(0).toVar("j"),b=S(0).toVar("k");C(3,3,3,(()=>{y.assign(m.add(a(f,g,b).sub(1)));var e=y.add(ue(y.mul(2*Math.PI)).div(2));v.assign(i.distance(e)),c(v.lessThan(d),(()=>{d.assign(v),u.assign(y)}))}));var w=h(u.mul(Math.PI)).toVar(),x=V(d,w.add(1).div(2),o),k=(s=V(s,r,x).toVar(),a(w.mul(16.8),w.mul(31.4159),w.mul(27.1828)).sin().add(1).div(2));return V(s,V(s,k,n),n)})).setLayout({name:"voronoiCellsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"variation",type:"float"},{name:"facet",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Xt(e={}){var{position:a,scale:t,variation:n,facet:o,color:s,background:r,seed:l}={...Jt,...e};return Kt(a,t,n,o,s,r,l)}Xt.defaults=Jt;var Zt={$name:"Water Drops",$normalNode:!0,position:k,scale:1.4,density:.5,bump:.6,seed:0},Qt=e((([e,a,t])=>{var n=h(e,1,t).clamp(0,1);return n=f(n.mul(Math.PI)).add(1).pow(.5).toVar(),e.add(a.mul(n))})).setLayout({name:"surfacePos",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"density",type:"float"}]}),en=e((([e,t,n,r,l,i,m])=>{var u=a(1,2,3).mul(m).sin().mul(100).toVar(),p=e.mul(R(r.div(1).add(1))).add(u).toVar(),d=t.normalize().toVar(),c=n.normalize().mul(.001).toVar(),y=o(d,c).normalize().mul(.001).toVar(),v=s(l,0,1,1.5,.7).toVar();d.mulAssign(i);var f=Qt(p,d,v),g=Qt(p.add(c),d,v),b=Qt(p.add(y),d,v);return pe(f,g,b)})).setLayout({name:"waterDropsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"tangent",type:"vec3"},{name:"scale",type:"float"},{name:"density",type:"float"},{name:"bump",type:"float"},{name:"seed",type:"float"}]});function an(e={}){var{position:a,scale:t,density:n,bump:o,seed:s}={...Zt,...e};return en(a,M,$,t,n,o,s)}an.defaults=Zt;var tn={$name:"Watermelon",$replaceExportUVS:D,position:k,uvs:T(k.normalize()),scale:2,stripes:12,variation:.5,noise:.25,color:new le("yellowgreen"),background:new le("darkgreen"),seed:0},nn=e((([e,t,n,o,s,r,l,i,m])=>{var u=e.mul(R(n.div(4).add(2))).add(m).toVar(),p=t.x.mul(o,2*Math.PI).add(h(u.mul(a(1,.3,1))).mul(2)).sin().add(.5).div(2).mul(t.y.remap(0,1,-Math.PI,Math.PI).cos().add(1.2).clamp(0,1)).add(s.mul(2,h(u.mul(1.5)).div(2))).add(s.mul(2,h(u.mul(4)).div(6))).toVar();return p.assign(p.mix(p.round(),.75).add(h(u.mul(2)).mul(r,.5)).add(h(u.mul(3)).mul(r,1)).add(h(u.mul(15)).mul(r,.2)).clamp(0,1)),l=V(i,l,p).toVar()})).setLayout({name:"watermelonRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"uvs",type:"vec2"},{name:"scale",type:"float"},{name:"stripes",type:"int"},{name:"variation",type:"float"},{name:"xnoise",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function on(e={}){var{position:a,uvs:t,scale:n,stripes:o,variation:s,noise:r,color:l,background:i,seed:m}={...tn,...e};return nn(a,t,n,o,s,r,l,i,m)}on.defaults=tn;var sn={$name:"Waves",position:k,scale:2,speed:0,time:x,level:-.4,rough:10,height:.5,foamSize:.2,foamEdge:.5,color:new le(16777215),background:new le(2121983),seed:0},rn=e((([e,t,n,o,s,r,l,i,m])=>{const u=R(t.sub(1)).toVar(),d=e.mul(u).add(m).toVar("pos"),c=o.mul(n.exp());var y=a(d.x,0,d.z).div(3);const v=i.mul(w(d,r.div(2)).div(2).add(1).div(2));var f=l.div(u,.8).toVar();return e.y.sub(s).add(w(y,1).mul(6.28).add(c).sin().div(2).mul(f)).sub(w(d,r).mul(6.28).add(c.mul(2)).sin().sub(1).div(5).mul(f)).smoothstep(p(.5).sub(v),p(.5).add(v)).toVar()})).setLayout({name:"waves_core",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"speed",type:"float"},{name:"time",type:"float"},{name:"level",type:"float"},{name:"rough",type:"float"},{name:"height",type:"float"},{name:"foamSize",type:"float"},{name:"seed",type:"float"}]}),ln=e((([e,a,t,n,o,s,r,l,i,m,u])=>{var p=rn(e,a,t,n,o,s,r,l,u);return V(m,i,p.clamp(0,1))})).setLayout({name:"wavesRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"speed",type:"float"},{name:"time",type:"float"},{name:"level",type:"float"},{name:"rough",type:"float"},{name:"height",type:"float"},{name:"foamSize",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]}),mn=e((([e,a,t,n,o,s,r,l,i,m])=>rn(e,a,t,n,o,s,r,l,m).oneMinus().smoothstep(0,i.oneMinus().div(10)))).setLayout({name:"wavesOpacityRaw",type:"float",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"speed",type:"float"},{name:"time",type:"float"},{name:"level",type:"float"},{name:"rough",type:"float"},{name:"height",type:"float"},{name:"foamSize",type:"float"},{name:"foamEdge",type:"float"},{name:"seed",type:"float"}]});function un(e={}){var{position:a,scale:t,speed:n,time:o,level:s,rough:r,height:l,foamSize:i,color:m,background:u,seed:p}={...sn,...e};return ln(a,t,n,o,s,r,l,i,m,u,p)}un.opacity=function(e={}){var{position:a,scale:t,speed:n,time:o,level:s,rough:r,height:l,foamSize:i,foamEdge:m,seed:u}={...sn,...e};return mn(a,t,n,o,s,r,l,i,m,u)},un.defaults=sn;var pn={$name:"Wood",position:k,scale:2.5,rings:4.5,lengths:1,angle:0,fibers:.3,fibersDensity:10,color:new le(.8,.4,0),background:new le(.4,.1,0),seed:0},dn=e((([e,n,o,s,r,i,m,u,c,y])=>{r=Y(r).toVar();var g=a(t(e.x.mul(f(r)),e.y.mul(v(r))),d(e.x.mul(v(r)),e.y.mul(f(r))),e.z).toVar(),b=g.mul(R(n.sub(3)).mul(a(Z(s),4,Z(s)))).add(y).toVar(),w=h(b).add(1).mul(10).mul(o);w=w.add(w.cos()).cos().add(1).div(2);var x=p(0).toVar(),k=p(0).toVar(),z=(n=R(n.sub(2)).mul(a(1,m,1)).toVar(),p(2).toVar());return C(10,(()=>{x.addAssign(l(z,h(g.mul(n).add(y)))),k.addAssign(z),n.mulAssign(1.8),z.mulAssign(.6)})),x.assign(l(x,5).div(k).mul(10).sin().add(1).div(2)),V(u,c,V(w,x,i))})).setLayout({name:"woodRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"rings",type:"float"},{name:"lengths",type:"float"},{name:"angle",type:"float"},{name:"fibers",type:"float"},{name:"fibersDensity",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function cn(e={}){var{position:a,scale:t,rings:n,lengths:o,angle:s,fibers:r,fibersDensity:l,color:i,background:m,seed:u}={...pn,...e};return dn(a,t,n,o,s,r,l,i,m,u)}cn.defaults=pn;var yn={$name:"Zebra lines",position:k,scale:2,thinness:.5,phi:0,theta:0,color:new le(0),background:new le(16777215),flat:0},vn=e((([e,a,t,n,o,s,r,l])=>{var i=y(l,e,e.normalize()).toVar(),m=y(l,Q(f(n),v(n)),Ve(n,o)).toVar(),u=y(l,A(m.dot(i),-2,2),L(A(m.dot(i),-1,1))).toVar(),p=(a=R(a.add(1)).toVar(),v(u.mul(a)).sub(t.sub(.5).mul(2)));return p=A(p.mul(1e3).div(a),-1,1).mul(.5).add(.5),V(r,s,p)})).setLayout({name:"zebraLinesRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"thinness",type:"float"},{name:"phi",type:"float"},{name:"theta",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"xflat",type:"int"}]});function fn(e={}){var{position:a,scale:t,thinness:n,phi:o,theta:s,color:r,background:l,flat:i}={...yn,...e};return vn(a,t,n,o,s,r,l,i)}fn.defaults=yn;var gn={$name:"Circle decor",position:k,scale:2,grains:.2,complexity:1,blur:.2,color:new le(0),background:new le(16777215),seed:0},bn=e((([e,a,t,n,o,s,r,l])=>{var i=e.mul(R(a.div(4))).add(l).toVar("pos"),m=i.mul(2).toVar("subpos"),u=H(i),p=H(m),d=H(i.mul(t.mul(4).add(2))).mul(2),c=h(i).div(2).add(1),y=u.min(p,d).clamp(0,1).mul(n.add(2).exp(),c,Math.PI).sin().smoothstep(o.negate(),o);return V(s,r,y.oneMinus())})).setLayout({name:"camouflageRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"grains",type:"float"},{name:"complexity",type:"float"},{name:"blur",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function wn(e={}){var{position:a,scale:t,grains:n,complexity:o,blur:s,color:r,background:l,seed:i}={...gn,...e};return bn(a,t,n,o,s,r,l,i)}wn.defaults=gn;var Vn={$name:"Reticular veins",position:k,scale:2,reticulation:5,strength:.2,organelles:.2,color:new le(16777200),background:new le(2129952),seed:0},hn=e((([e,a,t,n,o,s,r,l])=>{var i=e.mul(R(a.div(2).add(.5))).add(l).toVar(),m=H(i),u=H(i.add(100).mul(t)).mul(n),p=h(i.mul(100)).mul(n,o),d=m.add(u).add(p);return V(r,s,d)})).setLayout({name:"reticularVeinsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"reticulation",type:"float"},{name:"strength",type:"float"},{name:"organelles",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function xn(e={}){var{position:a,scale:t,reticulation:n,strength:o,organelles:s,color:r,background:l,seed:i}={...Vn,...e};return hn(a,t,n,o,s,r,l,i)}xn.defaults=Vn;var kn={$name:"Roman paving",position:k,scale:2,depth:.5,seed:0},zn=e((([e,a,t,n])=>{var o=e.mul(R(a)).add(n).toVar(),s=ee(o).toVar();return s.y.sub(s.x).pow(t.mul(3).sub(3).exp()).smoothstep(0,1)})).setLayout({name:"romanPavingRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"depth",type:"float"},{name:"seed",type:"float"}]});function Ln(e={}){var{position:a,scale:t,depth:n,seed:o}={...kn,...e};return zn(a,t,n,o)}Ln.defaults=kn;var An={$name:"Crumpled fabric",$width:260,position:k,scale:2,pinch:.5,color:new le(11596031),subcolor:new le(4210928),background:new le(12288),seed:0},Rn=e((([e,t,n,o,s,r,l])=>{var i=e.mul(R(t.sub(.5))).add(l).toVar();C(4,(()=>{var e=h(i.xyz),t=h(i.yzx),o=h(i.zxy);i.addAssign(a(e,t,o).mul(n))}));var m=h(i).add(1).div(2).clamp(0,1),u=o.mul(m.mul(2).sub(1).abs().oneMinus()),p=s.mul(m).pow(2),d=r.mul(m.oneMinus().pow(2));return u.add(p).add(d)})).setLayout({name:"crumpledFabricRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"pinch",type:"float"},{name:"color",type:"vec3"},{name:"subcolor",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Mn(e={}){var{position:a,scale:t,pinch:n,color:o,subcolor:s,background:r,seed:l}={...An,...e};return Rn(a,t,n,o,s,r,l)}Mn.defaults=An;var $n={$name:"Isolayers",position:k,scale:2,layers:10,edge:.5,darkness:0,color:new le(16777200),background:new le(16728128),seed:0},Sn=e((([e,a,t,n,o,s,r,l])=>{var i=e.mul(R(a.sub(1))).add(l).toVar(),m=n.remap(0,1,40,10),u=h(i,1.2,1).div(2),d=u.mul(t).round().div(t).clamp(0,1),c=u.sub(p(.53).div(t)).mul(t).fract().mul(p(2).pow(m.reciprocal())).pow(m).sub(1).abs().oneMinus(),y=V(we(r),we(s),d).toVar();return y.z.mulAssign(V(1,d.mul(1.5),o).clamp(0,1)),be(y).sub(c)})).setLayout({name:"isolayersRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"layers",type:"int"},{name:"edge",type:"float"},{name:"darkness",type:"float"},{name:"color",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Cn(e={}){var{position:a,scale:t,layers:n,edge:o,darkness:s,color:r,background:l,seed:i}={...$n,...e};return Sn(a,t,n,o,s,r,l,i)}Cn.defaults=$n;var Pn={$name:"Turbulent smoke",$width:260,position:k,scale:2,speed:0,details:5,time:x,seed:0},In=e((([e,t,n,o,s,r])=>{var l=e.mul(R(t.sub(1))).add(r).toVar(),i=s.mul(n.sub(1).exp()),m=l.add(a(w(l.add(a(1,i.sin(),-1))),w(l.add(a(i.add(2*Math.PI/3).sin(),1,-1))),w(l.add(a(1,-1,i.add(4*Math.PI/3).sin()))))),u=ae(m,o);return H(l.add(u.div(2))).pow(4).mul(4).oneMinus()})).setLayout({name:"turbulentSmokeRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"speed",type:"float"},{name:"details",type:"int"},{name:"time",type:"float"},{name:"seed",type:"float"}]});function Tn(e={}){var{position:a,scale:t,speed:n,details:o,time:s,seed:r}={...Pn,...e};return In(a,t,n,o,s,r)}Tn.defaults=Pn;var En={$name:"Caustics",position:k,scale:2,speed:0,time:x,color:new le(5286080),seed:0},Wn=e((([e,t,n,o,s,r])=>{var l=e.mul(R(t.sub(1))).add(r).toVar(),i=o.mul(n.sub(1).exp()).add(a(0,2*Math.PI/3,4*Math.PI/3)).sin();return te(l.add(a(H(l.add(i.xyz)),H(l.add(i.yzx)),H(l.add(i.zxy))))).length().div(Math.sqrt(3)).add(s.sub(.5).mul(2))})).setLayout({name:"causticsRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"speed",type:"float"},{name:"time",type:"float"},{name:"color",type:"vec3"},{name:"seed",type:"float"}]});function Bn(e={}){var{position:a,scale:t,speed:n,time:o,color:s,seed:r}={...En,...e};return Wn(a,t,n,o,s,r)}Bn.defaults=En;var _n={$name:"Bricks",position:k,scale:2,brickSize:new ie(2,1,2),brickShift:2,jointSize:.05,jointSpan:.5,jointJitter:.5,jointBlur:.03,noiseSize:.5,noiseStrength:.2,colorShade:.5,color:new le(16728064),additional:new le(13672496),background:new le(11184810),seed:0},qn=e((([e,t,n,o,s,r,i,m,u,d,c,y,v,f,g])=>{var b=e.mul(R(t)).add(g).toVar(),w=n,x=b.div(w).floor().div(o),k=a(x.y,0,x.y).toVar(),z=b.div(w).fract().add(k).fract().toVar(),L=ae(b.mul(de(r,0,1,20,.2))).div(de(i,0,1,500,1)).toVar(),A=l(z.mul(w).add(L.z).smoothstep(w.y.sub(s,m),w.y.sub(s)).y.oneMinus(),z.mul(w).add(L.y).smoothstep(s,s.add(m)).y,z.mul(w).add(L.y).smoothstep(w.x.sub(s,m),w.x.sub(s)).x.oneMinus(),z.mul(w).add(L.x).smoothstep(s,s.add(m)).x,z.mul(w).add(L.x).smoothstep(w.z.sub(s,m),w.z.sub(s)).z.oneMinus(),z.mul(w).add(L.z).smoothstep(s,s.add(m)).z).clamp(0,1),M=V(p(1),h(h(b.xyz.div(w).add(k).floor().zxy.mul(100).add(Math.PI)).mul(10)).add(2).div(2).pow(4).clamp(0,1),c),$=h(b.mul(de(u,0,1,5,250))).mul(d).add(1),S=h(h(b.xyz.div(w).add(k).floor().zxy.mul(200).add(Math.PI)).mul(10)).add(1).div(1),C=V(y,v,S.pow(2));return V(f,M.mul(C,A),A).mul($)})).setLayout({name:"bricksRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"brickSize",type:"vec3"},{name:"brickShift",type:"float"},{name:"jointSize",type:"float"},{name:"jointSpan",type:"float"},{name:"jointJitter",type:"float"},{name:"jointBlur",type:"float"},{name:"noiseSize",type:"float"},{name:"noiseStrength",type:"float"},{name:"colorShade",type:"float"},{name:"color",type:"vec3"},{name:"additional",type:"vec3"},{name:"background",type:"vec3"},{name:"seed",type:"float"}]});function Dn(e={}){var{position:a,scale:t,brickSize:n,brickShift:o,jointSize:s,jointSpan:r,jointJitter:l,jointBlur:i,noiseSize:m,noiseStrength:u,colorShade:p,color:d,additional:c,background:y,seed:v}={..._n,...e};return qn(a,t,n,o,s,r,l,i,m,u,p,d,c,y,v)}Dn.defaults=_n;var Nn={$name:"Halftone",position:X,scale:2,radius:.5,pattern:1,attenuation:0,near:6,far:14,color:ne(),positionView:re},Fn=e((([e,a,t,n,o,s,r,l])=>{var i=p(5).sub(a).exp().toVar(),m=e.toVar(),u=t.div(Math.sqrt(2)).toVar(),d=m.div(i).round().mul(i);return c(n.notEqual(0),(()=>{u.mulAssign(l.z.mul(-1).smoothstep(o,s).pow(.5))})),c(m.distance(d).greaterThan(i.mul(u)),(()=>oe())),r})).setLayout({name:"halftoneGridRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"radius",type:"float"},{name:"attenuation",type:"int"},{name:"far",type:"float"},{name:"near",type:"float"},{name:"color",type:"vec3"},{name:"positionView",type:"vec3"}]}),Gn=e((([e,a,t,n,o,s,r,l])=>{var i=p(5).sub(a).exp().toVar(),u=e.toVar(),d=t.div(Math.sqrt(2)).toVar(),y=u.y.div(i).round().mod(2),v=u.div(i).round().mulAssign(i).toVar();c(y.equal(0),(()=>{v.x.addAssign(i.mul(.5))}));var f=Q(v.x.sub(i),v.y).toVar();return c(n.notEqual(0),(()=>{d.mulAssign(l.z.mul(-1).smoothstep(o,s).pow(.5))})),c(m(u.distance(v),u.distance(f)).greaterThan(i.mul(d)),(()=>oe())),r})).setLayout({name:"halftoneDiagRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"radius",type:"float"},{name:"attenuation",type:"int"},{name:"far",type:"float"},{name:"near",type:"float"},{name:"color",type:"vec3"},{name:"positionView",type:"vec3"}]}),jn=e((([e,a,t,n,o,s,r,l,i])=>{var m=e.mul(a.sub(3.5).exp()).sin().add(1).div(2).toVar(),u=m.x,d=m.y,y=t.div(Math.sqrt(2)).toVar(),v=p(0);return se(n).Case(2,(()=>{v.assign(u.add(d).div(2))})).Case(3,(()=>{v.assign(u.sub(d).abs().oneMinus())})).Case(10,(()=>{v.assign(u.sub(d).abs())})).Case(4,(()=>{v.assign(u.mul(d).oneMinus())})).Case(9,(()=>{v.assign(u.mul(d))})).Case(5,(()=>{v.assign(u.max(d))})).Case(6,(()=>{v.assign(u.min(d))})).Case(7,(()=>{v.assign(u)})).Case(8,(()=>{v.assign(d)})),c(o.notEqual(0),(()=>{y.mulAssign(i.z.mul(-1).smoothstep(s,r).pow(.5))})),c(v.greaterThan(y),(()=>oe())),l})).setLayout({name:"halftoneTrigRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"radius",type:"float"},{name:"pattern",type:"int"},{name:"attenuation",type:"int"},{name:"far",type:"float"},{name:"near",type:"float"},{name:"color",type:"vec3"},{name:"positionView",type:"vec3"}]}),Yn=e((([e,t,n,o,s,r,l,i,m])=>{var u=a(0).toVar();return se(o).Case(0,(()=>{u.assign(Fn(e,t,n,s,r,l,i,m))})).Case(1,(()=>{u.assign(Gn(e,t,n,s,r,l,i,m))})).Default((()=>{u.assign(jn(e,t,n,o,s,r,l,i,m))})),u})).setLayout({name:"halftoneRaw",type:"vec3",inputs:[{name:"position",type:"vec3"},{name:"scale",type:"float"},{name:"radius",type:"float"},{name:"pattern",type:"int"},{name:"attenuation",type:"int"},{name:"far",type:"float"},{name:"near",type:"float"},{name:"color",type:"vec3"},{name:"positionView",type:"vec3"}]});function Un(e={}){var{position:a,scale:t,radius:n,pattern:o,attenuation:s,far:r,near:l,color:i,positionView:m}={...Nn,...e};return Yn(a,t,n,o,s,r,l,i,m)}Un.defaults=Nn,"undefined"!=typeof window&&(window.__TSL_TEXTURES__=3);export{pe as approximateNormal,Ae as brain,Dn as bricks,$e as camouflage,Bn as caustics,Pe as caveArt,wn as circleDecor,Ee as circles,De as clouds,je as concrete,He as cork,Mn as crumpledFabric,Ke as dalmatianSpots,Qe as darthMaul,sa as dysonSphere,ia as entangled,pa as fordite,ya as gasGiant,ga as grid,Un as halftone,fe as hideFallbackWarning,be as hsl,Cn as isolayers,Va as isolines,ka as karstRock,Aa as marble,$a as neonLights,Pa as perlinNoise,Ea as photosphere,_a as planet,Fa as polkaDots,Ya as processedWood,Ja as protozoa,de as remapExp,xn as reticularVeins,Ln as romanPaving,he as rotatePivot,et as rotator,ot as roughClay,ut as runnyEggs,vt as rust,bt as satin,kt as scaler,At as scepterHead,$t as scream,xe as selectPlanar,ve as showFallbackWarning,Ve as spherical,Pt as stars,Et as staticNoise,Dt as supersphere,Gt as tigerFur,we as toHsl,Ot as translator,Tn as turbulentSmoke,ue as vnoise,Xt as voronoiCells,an as waterDrops,on as watermelon,un as waves,cn as wood,fn as zebraLines};
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "tsl-textures",
3
- "version": "3.0.1",
3
+ "version": "3.0.4",
4
4
  "description": "A collection of Three.js Shading Language (TSL) textures ",
5
+ "type": "module",
5
6
  "main": "./src/tsl-textures.js",
6
7
  "module": "./src/tsl-textures.js",
7
8
  "exports": {
8
9
  "./tsl-textures.js": {
9
- "require": "./dist/cjs/tsl-textures.js",
10
+ "require": "./dist/cjs/tsl-textures.cjs",
10
11
  "import": "./dist/tsl-textures.js"
11
12
  },
12
13
  ".": {
13
- "require": "./dist/cjs/tsl-textures.js",
14
+ "require": "./dist/cjs/tsl-textures.cjs",
14
15
  "import": "./dist/tsl-textures.js"
15
16
  }
16
17
  },
@@ -0,0 +1,252 @@
1
+ 
2
+ // TSL-Textures: Halftone
3
+
4
+
5
+
6
+ import { Discard, float, Fn, If, min, positionView, screenCoordinate, Switch, vec2, vec3, vertexColor } from 'three/tsl';
7
+
8
+
9
+
10
+ var defaults = {
11
+ $name: 'Halftone',
12
+
13
+ position: screenCoordinate,
14
+ scale: 2,
15
+ radius: 0.5,
16
+ pattern: 1,
17
+
18
+ attenuation: 0,
19
+ near: 6,
20
+ far: 14,
21
+
22
+ color: vertexColor(),
23
+
24
+ positionView: positionView,
25
+
26
+ };
27
+
28
+
29
+
30
+ // square grid of circles
31
+ var halftoneGridRaw = Fn( ([ position, scale, radius, attenuation, far, near, color, positionView ]) => {
32
+
33
+ var xscale = float( 5 ).sub( scale ).exp().toVar(),
34
+ pos = position.toVar(),
35
+ xradius = radius.div( Math.sqrt( 2 ) ).toVar();
36
+
37
+ var center = pos.div( xscale ).round().mul( xscale );
38
+
39
+
40
+ If( attenuation.notEqual( 0 ), ()=>{
41
+
42
+ xradius.mulAssign( positionView.z.mul( -1 ).smoothstep( far, near ).pow( 1/2 ) );
43
+
44
+ } );
45
+
46
+ If( pos.distance( center ).greaterThan( xscale.mul( xradius ) ), ()=>Discard() );
47
+
48
+ return color;
49
+
50
+ } ).setLayout( {
51
+ name: 'halftoneGridRaw',
52
+ type: 'vec3',
53
+ inputs: [
54
+ { name: 'position', type: 'vec3' },
55
+ { name: 'scale', type: 'float' },
56
+ { name: 'radius', type: 'float' },
57
+ { name: 'attenuation', type: 'int' },
58
+ { name: 'far', type: 'float' },
59
+ { name: 'near', type: 'float' },
60
+ { name: 'color', type: 'vec3' },
61
+ { name: 'positionView', type: 'vec3' },
62
+ ] }
63
+ );
64
+
65
+
66
+
67
+ // diagonal geid of circles
68
+ var halftoneDiagRaw = Fn( ([ position, scale, radius, attenuation, far, near, color, positionView ]) => {
69
+
70
+ var xscale = float( 5 ).sub( scale ).exp().toVar(),
71
+ pos = position.toVar(),
72
+ xradius = radius.div( Math.sqrt( 2 ) ).toVar();
73
+
74
+ var shift = pos.y.div( xscale ).round().mod( 2 );
75
+
76
+ var centerA = pos.div( xscale ).round().mulAssign( xscale ).toVar();
77
+
78
+ If( shift.equal( 0 ), ()=>{
79
+
80
+ centerA.x.addAssign( xscale.mul( 0.5 ) );
81
+
82
+ } );
83
+ var centerB = vec2( centerA.x.sub( xscale ), centerA.y ).toVar();
84
+
85
+
86
+ If( attenuation.notEqual( 0 ), ()=>{
87
+
88
+ xradius.mulAssign( positionView.z.mul( -1 ).smoothstep( far, near ).pow( 1/2 ) );
89
+
90
+ } );
91
+
92
+ If( min( pos.distance( centerA ), pos.distance( centerB ) ).greaterThan( xscale.mul( xradius ) ), ()=>Discard() );
93
+
94
+ return color;
95
+
96
+ } ).setLayout( {
97
+ name: 'halftoneDiagRaw',
98
+ type: 'vec3',
99
+ inputs: [
100
+ { name: 'position', type: 'vec3' },
101
+ { name: 'scale', type: 'float' },
102
+ { name: 'radius', type: 'float' },
103
+ { name: 'attenuation', type: 'int' },
104
+ { name: 'far', type: 'float' },
105
+ { name: 'near', type: 'float' },
106
+ { name: 'color', type: 'vec3' },
107
+ { name: 'positionView', type: 'vec3' },
108
+ ] }
109
+ );
110
+
111
+
112
+
113
+ // trigonetric pattern
114
+ var halftoneTrigRaw = Fn( ([ position, scale, radius, pattern, attenuation, far, near, color, positionView ]) => {
115
+
116
+ var pos = position.mul( scale.sub( 3.5 ).exp() ).sin().add( 1 ).div( 2 ).toVar(),
117
+ x = pos.x,
118
+ y = pos.y,
119
+ xradius = radius.div( Math.sqrt( 2 ) ).toVar();
120
+
121
+ var dist = float( 0 );
122
+
123
+ Switch( pattern )
124
+ .Case( 2, ()=>{
125
+
126
+ dist.assign( x.add( y ).div( 2 ) );
127
+
128
+ } )
129
+ .Case( 3, ()=>{
130
+
131
+ dist.assign( x.sub( y ).abs().oneMinus() );
132
+
133
+ } )
134
+ .Case( 10, ()=>{
135
+
136
+ dist.assign( x.sub( y ).abs() );
137
+
138
+ } )
139
+ .Case( 4, ()=>{
140
+
141
+ dist.assign( x.mul( y ).oneMinus() );
142
+
143
+ } )
144
+ .Case( 9, ()=>{
145
+
146
+ dist.assign( x.mul( y ) );
147
+
148
+ } )
149
+ .Case( 5, ()=>{
150
+
151
+ dist.assign( x.max( y ) );
152
+
153
+ } )
154
+ .Case( 6, ()=>{
155
+
156
+ dist.assign( x.min( y ) );
157
+
158
+ } )
159
+ .Case( 7, ()=>{
160
+
161
+ dist.assign( x );
162
+
163
+ } )
164
+ .Case( 8, ()=>{
165
+
166
+ dist.assign( y );
167
+
168
+ } );
169
+
170
+ If( attenuation.notEqual( 0 ), ()=>{
171
+
172
+ xradius.mulAssign( positionView.z.mul( -1 ).smoothstep( far, near ).pow( 1/2 ) );
173
+
174
+ } );
175
+
176
+ If( dist.greaterThan( xradius ), ()=>Discard() );
177
+
178
+ return color;
179
+
180
+ } ).setLayout( {
181
+ name: 'halftoneTrigRaw',
182
+ type: 'vec3',
183
+ inputs: [
184
+ { name: 'position', type: 'vec3' },
185
+ { name: 'scale', type: 'float' },
186
+ { name: 'radius', type: 'float' },
187
+ { name: 'pattern', type: 'int' },
188
+ { name: 'attenuation', type: 'int' },
189
+ { name: 'far', type: 'float' },
190
+ { name: 'near', type: 'float' },
191
+ { name: 'color', type: 'vec3' },
192
+ { name: 'positionView', type: 'vec3' },
193
+ ] }
194
+ );
195
+
196
+
197
+
198
+ var halftoneRaw = Fn( ([ position, scale, radius, pattern, attenuation, far, near, color, positionView ]) => {
199
+
200
+ var result = vec3( 0 ).toVar();
201
+
202
+ Switch( pattern )
203
+ .Case( 0, ()=>{
204
+
205
+ result.assign( halftoneGridRaw( position, scale, radius, attenuation, far, near, color, positionView ) );
206
+
207
+ } )
208
+ .Case( 1, ()=>{
209
+
210
+ result.assign( halftoneDiagRaw( position, scale, radius, attenuation, far, near, color, positionView ) );
211
+
212
+ } )
213
+ .Default( ()=>{
214
+
215
+ result.assign( halftoneTrigRaw( position, scale, radius, pattern, attenuation, far, near, color, positionView ) );
216
+
217
+ } );
218
+
219
+ return result;
220
+
221
+ } ).setLayout( {
222
+ name: 'halftoneRaw',
223
+ type: 'vec3',
224
+ inputs: [
225
+ { name: 'position', type: 'vec3' },
226
+ { name: 'scale', type: 'float' },
227
+ { name: 'radius', type: 'float' },
228
+ { name: 'pattern', type: 'int' },
229
+ { name: 'attenuation', type: 'int' },
230
+ { name: 'far', type: 'float' },
231
+ { name: 'near', type: 'float' },
232
+ { name: 'color', type: 'vec3' },
233
+ { name: 'positionView', type: 'vec3' },
234
+ ] }
235
+ );
236
+
237
+
238
+ function halftone( params={} ) {
239
+
240
+ var { position, scale, radius, pattern, attenuation, far, near, color, positionView } = { ...defaults, ...params };
241
+
242
+ return halftoneRaw( position, scale, radius, pattern, attenuation, far, near, color, positionView );
243
+
244
+ }
245
+
246
+
247
+
248
+ halftone.defaults = defaults;
249
+
250
+
251
+
252
+ export { halftone };
package/src/protozoa.js CHANGED
@@ -69,7 +69,7 @@ var protozoaRaw = Fn( ([ position, matcap, scale, fat, amount, color, subcolor,
69
69
 
70
70
  pos.assign( mix( pos.mul( dPos ), 0, 0.4 ) );
71
71
 
72
- scale.mulAssign( 0.9 );
72
+ xscale.mulAssign( 0.9 );
73
73
 
74
74
  } );
75
75