"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[724],{499:function(e,t,r){r.d(t,{yK:function(){return m},_x:function(){return g},$Q:function(){return _},TouchProvider:function(){return f}});var n=r(7437),a=r(1485),s=r(2265),i=r(7440);let o=a.fC,l=a.xz;a.ee;let u=s.forwardRef((e,t)=>{let{className:r,align:s="center",sideOffset:o=4,...l}=e;return(0,n.jsx)(a.h_,{children:(0,n.jsx)(a.VY,{ref:t,align:s,sideOffset:o,className:(0,i.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...l})})});u.displayName=a.VY.displayName;var d=r(9666);let c=(0,s.createContext)(void 0),p=()=>(0,s.useContext)(c),f=e=>{let[t,r]=(0,s.useState)();return(0,s.useEffect)(()=>{r(window.matchMedia("(pointer: coarse)").matches)},[]),(0,n.jsx)(c.Provider,{value:t,...e})},m=e=>p()?(0,n.jsx)(o,{...e}):(0,n.jsx)(d.u,{...e}),_=e=>p()?(0,n.jsx)(l,{...e}):(0,n.jsx)(d.aJ,{...e}),g=e=>p()?(0,n.jsx)(u,{...e}):(0,n.jsx)(d._v,{...e})},9666:function(e,t,r){r.d(t,{TooltipProvider:function(){return o},_v:function(){return d},aJ:function(){return u},u:function(){return l}});var n=r(7437),a=r(7071),s=r(2265),i=r(7440);let o=a.zt,l=a.fC,u=a.xz,d=s.forwardRef((e,t)=>{let{className:r,sideOffset:s=4,...o}=e;return(0,n.jsx)(a.h_,{children:(0,n.jsx)(a.VY,{ref:t,sideOffset:s,className:(0,i.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...o})})});d.displayName=a.VY.displayName},184:function(e,t,r){function n(e){return{payload:e,success:!0}}function a(e){return{message:e,success:!1}}r.d(t,{Y:function(){return a},r:function(){return n}})},6543:function(e,t,r){r.d(t,{BrushesProvider:function(){return u}});var n=r(7437),a=r(3910),s=r(1077),i=r(2265);let o={brushes:[],brushSize:25,setBrushSize:()=>{},addBrush:()=>{},deleteBrush:()=>{},editBrush:()=>{},allColors:a.xF,palette:{},blendFactor:.5,setBlendFactor:()=>{}},l=(0,i.createContext)(o),u=e=>{let{children:t}=e,r={id:(0,i.useId)(),name:"Pattern 1",color:"demoblue",thumbnail:"/defaults/pattern_1.png",parameters:s.k.grunge_damas.defaultParameters},o={id:(0,i.useId)(),name:"Pattern 2",color:"demogreen",thumbnail:"/defaults/pattern_2.png",parameters:s.k.grunge_galvanic_small.defaultParameters},[u,c]=(0,i.useReducer)(d,[r,o]),[p,f]=(0,i.useState)(35),[m,_]=(0,i.useState)(.5),g=(0,i.useMemo)(()=>u.reduce((e,t)=>({...e,[t.color]:t.parameters}),{}),[u]);return(0,n.jsx)(l.Provider,{value:{brushes:u,brushSize:p,setBrushSize:f,addBrush:e=>{c({type:"ADD",brush:e})},deleteBrush:e=>{c({type:"DELETE",brush:e})},editBrush:e=>{c({type:"EDIT",brush:e})},allColors:a.xF,palette:g,blendFactor:m,setBlendFactor:_},children:t})},d=(e,t)=>{switch(t.type){case"ADD":return[...e,t.brush];case"DELETE":return e.filter(e=>e!==t.brush);case"EDIT":let r=e.find(e=>t.brush.id===e.id);if(!r)return e;return t.brush.color=r.color,e.map(e=>e.id===t.brush.id?t.brush:e);default:return e}};t.Z=()=>(0,i.useContext)(l)},5772:function(e,t,r){r.d(t,{CanvasProvider:function(){return y},Z:function(){return w}});var n=r(7437),a=r(4184),s=r(184),i=r(9772);let o=i.z.object({image:i.z.string(),distanceTransform:i.z.string()}),l=a.O.NEXT_PUBLIC_MODAL_WORKSPACE,u=void 0===a.O.NEXT_PUBLIC_MODAL_ENVIRONMENT_SUFFIX?"":"-".concat(a.O.NEXT_PUBLIC_MODAL_ENVIRONMENT_SUFFIX),d="development"===a.O.NEXT_PUBLIC_NODE_ENV?"-dev":"",c=async e=>{let t=await fetch("https://".concat(l).concat(u,"--").concat("silhouette").concat(d,".modal.run"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return t.ok?(0,s.r)(await o.parseAsync(await t.json())):(0,s.Y)("Failed to generate noise: ".concat(t.statusText))};var p=r(6543),f=r(9652),m=r(3910),_=r(8690),g=r(2265);let v=(0,g.createContext)(null),y=e=>{let{children:t}=e,{brushes:r,palette:a}=(0,p.Z)(),{blendFactor:s,setBlendFactor:i}=(0,f.ZP)(),o=(0,g.useRef)(null),[l,u]=(0,g.useState)(),[d,y]=(0,g.useState)("circle"),[w,b]=(0,g.useState)(),[P,h]=(0,g.useTransition)(),[x,N]=(0,g.useState)(!1);(0,g.useEffect)(()=>{"linear-wipe-left"===d||"linear-wipe-up"===d?i(1):i(.25)},[d,i]);let C=(0,g.useCallback)(async(e,t)=>{let r=a.demoblue,n=a.demogreen;if(!(r&&n))return;console.log(x);let i=x?{demogreen:n,demoblue:r}:{demoblue:r,demogreen:n},o=await c({width:e,height:t,cfg:1,palette:i,maskName:d,blendFactor:s});if(o.success)return o.payload},[a,s,d,x]),E=(0,g.useCallback)((e,t)=>()=>h(async()=>{if(P)return;let r=await C(e,t);r&&(u(r.image),b(r.distanceTransform))}),[C,P]),O=(0,g.useMemo)(()=>E(512,512),[E]),S=(0,_.y)(O,200),I=(0,g.useMemo)(()=>E(256,256),[E]),T=(0,_.y)(I,200),k=(0,g.useCallback)(e=>{if(!(null==o?void 0:o.current))return;let t=o.current.getContext("2d",{willReadFrequently:!0}),{width:r,height:n}=o.current;if(!t)return;let s=new Image;s.src=e,s.onload=()=>{let e=Object.entries(a),i=Object.keys(a);if(!t||e.length<2)return;let o=i[0];if(!(0,m.DH)(o)||!(0,m.DH)(i[1]))return;let l=i[1];t.drawImage(s,0,0,r,n);for(let e=0;e<n;e++)for(let n=0;n<r;n++){let r=t.getImageData(n,e,1,1);255===r.data[0]&&255===r.data[1]&&255===r.data[2]?t.fillStyle=m.S2[o]:t.fillStyle=m.S2[l],t.fillRect(n,e,1,1)}}},[a]);return(0,n.jsx)(v.Provider,{value:{canvasRef:o,pattern:l,distanceTransform:w,generate:O,debouncedGenerate:S,clearCanvas:()=>{if(!(null==o?void 0:o.current))return;let e=o.current.getContext("2d");if(!e)return;let{width:t,height:n}=o.current;e.fillStyle=m.S2[r[0].color],e.fillRect(0,0,t,n)},isGenerating:P,generatePreview:I,debouncedGeneratePreview:T,setCanvasImage:k,maskName:d,setMaskName:y,invertMask:x,setInvertMask:N},children:t})};var w=()=>{let e=(0,g.useContext)(v);if(!e)throw Error("useCanvas must be used within a CanvasProvider");return e}},9652:function(e,t,r){var n=r(3742),a=r(1741);Object.values({"Square - 1:1":["128 x 128","256 x 256","512 x 512","1024 x 1024","2048 x 2048"],"Standard - 4:3":["128 x 96","256 x 192","512 x 384","1024 x 768","1920 x 1440"],"Widescreen - 16:9":["128 x 72","256 x 144","512 x 288","1024 x 576","1920 x 1080"]}).flat();let s=(0,a.O4)("blendFactor",.25),i=(0,a.O4)("resolution","1024 x 1024");t.ZP=()=>{let[e,t]=(0,n.useAtom)(s),[r,a]=(0,n.useAtom)(i);return{blendFactor:e,resolution:r,setBlendFactor:t,setResolution:a}}},7440:function(e,t,r){r.d(t,{cn:function(){return s}});var n=r(4839),a=r(6164);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.m6)((0,n.W)(t))}},3910:function(e,t,r){r.d(t,{DH:function(){return s},S2:function(){return a},xF:function(){return n}});let n=["red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose","white"],a={red:"#ef4444",orange:"#f97316",amber:"#f59e0b",yellow:"#eab308",lime:"#84cc16",green:"#22c55e",emerald:"#10b981",teal:"#14b8a6",cyan:"#06b6d4",sky:"#0ea5e9",blue:"#3b82f6",indigo:"#6366f1",violet:"#8b5cf6",purple:"#a855f7",fuchsia:"#d946ef",pink:"#ec4899",rose:"#f43f5e",white:"#ffffff",demoblue:"#3FA9F5",demogreen:"#7AC943"},s=e=>n.includes(e)},1077:function(e,t,r){r.d(t,{A:function(){return n},k:function(){return a}});let n=e=>a.hasOwnProperty(e),a={cells_4:{type:"cells_4",name:"Cells 4",description:"Cells 4",preview:"/previews/cells-4.png",defaultParameters:{type:"cells_4",scale:1}},cells_1:{type:"cells_1",name:"Cells 1",description:"Cells 1",preview:"/previews/cells-1.png",defaultParameters:{type:"cells_1",scale:1}},voronoi:{type:"voronoi",name:"Voronoi",description:"Voronoi",preview:"/previews/voronoi.png",defaultParameters:{type:"voronoi",scale:1,distortion_intensity:.5,distortion_scale_multiplier:.5}},microscope_view:{type:"microscope_view",name:"Microscope View",description:"Microscope View",preview:"/previews/microscope-view.png",defaultParameters:{type:"microscope_view",scale:1,warp_intensity:.5}},grunge_galvanic_small:{type:"grunge_galvanic_small",name:"Grunge Galvanic Small",description:"Grunge Galvanic Small",preview:"/previews/grunge-galvanic-small.png",defaultParameters:{type:"grunge_galvanic_small",crispness:.5,dirt:.5,micro_distortion:.5}},liquid:{type:"liquid",name:"Liquid",description:"Liquid",preview:"/previews/liquid.png",defaultParameters:{type:"liquid",scale:1,warp_intensity:.5}},clouds_3:{type:"clouds_3",name:"Clouds 3",description:"Clouds 3",preview:"/previews/clouds-3.png",defaultParameters:{type:"clouds_3",scale:1}},bnw_spots_1:{type:"bnw_spots_1",name:"BNW Spots 1",description:"BNW Spots 1",preview:"/previews/bnw-spots-1.png",defaultParameters:{type:"bnw_spots_1",scale:1}},grunge_leaky_paint:{type:"grunge_leaky_paint",name:"Grunge Leaky Paint",description:"Grunge Leaky Paint",preview:"/previews/grunge-leaky-paint.png",defaultParameters:{type:"grunge_leaky_paint",leak_intensity:.5,leak_scale:.5,leak_crispness:.5}},grunge_rust_fine:{type:"grunge_rust_fine",name:"Grunge Rust Fine",description:"Grunge Rust Fine",preview:"/previews/grunge-rust-fine.png",defaultParameters:{type:"grunge_rust_fine",base_grunge_contrast:.5,base_warp_intensity:.5}},grunge_map_002:{type:"grunge_map_002",name:"Grunge Map 002",description:"Grunge Map 002",preview:"/previews/grunge-map-002.png",defaultParameters:{type:"grunge_map_002"}},grunge_damas:{type:"grunge_damas",name:"Grunge Damas",description:"Grunge Damas",preview:"/previews/grunge-damas.png",defaultParameters:{type:"grunge_damas",distortion:.7,divisions:.7,waves:.7,details:.5,rotation_random:.5}},grunge_map_005:{type:"grunge_map_005",name:"Grunge Map 005",description:"Grunge Map 005",preview:"/previews/grunge-map-005.png",defaultParameters:{type:"grunge_map_005"}},messy_fibers_3:{type:"messy_fibers_3",name:"Messy Fibers 3",description:"Messy Fibers 3",preview:"/previews/messy-fibers-3.png",defaultParameters:{type:"messy_fibers_3",scale:1}},perlin_noise:{type:"perlin_noise",name:"Perlin Noise",description:"Perlin Noise",preview:"/previews/perlin-noise.png",defaultParameters:{type:"perlin_noise",scale:1}},gaussian_noise:{type:"gaussian_noise",name:"Gaussian Noise",description:"Gaussian Noise",preview:"/previews/gaussian-noise.png",defaultParameters:{type:"gaussian_noise",scale:1}},clouds_2:{type:"clouds_2",name:"Clouds 2",description:"Clouds 2",preview:"/previews/clouds-2.png",defaultParameters:{type:"clouds_2",scale:1}},clouds_1:{type:"clouds_1",name:"Clouds 1",description:"Clouds 1",preview:"/previews/clouds-1.png",defaultParameters:{type:"clouds_1",scale:1}}}},4184:function(e,t,r){r.d(t,{O:function(){return i}});var n=r(8621),a=r(9772),s=r(357);let i=(0,n.D)({server:{},client:{NEXT_PUBLIC_MODAL_WORKSPACE:a.z.string(),NEXT_PUBLIC_MODAL_ENVIRONMENT_SUFFIX:a.z.string().optional(),NEXT_PUBLIC_NODE_ENV:a.z.string()},runtimeEnv:{NEXT_PUBLIC_MODAL_WORKSPACE:"noise-web-workspace",NEXT_PUBLIC_MODAL_ENVIRONMENT_SUFFIX:s.env.NEXT_PUBLIC_MODAL_ENVIRONMENT_SUFFIX,NEXT_PUBLIC_NODE_ENV:"production"},skipValidation:!!s.env.SKIP_ENV_VALIDATION,emptyStringAsUndefined:!0})}}]);