PageSourceSearch

https://www.dododigital.ai/_next/static/chunks/1752.1d540a5b5e2b2e5a.js

js dododigital.ai collected 2026-10-05 12:26:24 UTC 6,354 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1752],{1752:(e,r,t)=>{t.r(r),t.d(r,{default:()=>d});var n=t(5155),o=t(3646),s=t(258),a=t(2115),c=t(8381),i=t(6743);function l(e){let{speed:r=.4}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.x+=n*r*.7,t.current.rotation.y+=n*r)}),(0,n.jsxs)("mesh",{ref:t,children:[(0,n.jsx)("torusKnotGeometry",{args:[1,.35,128,32]}),(0,n.jsx)("meshStandardMaterial",{color:"white"})]})}let u={torusKnot:l,sphere:function(e){let{speed:r=.3}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.x+=n*r*.5,t.current.rotation.y+=n*r)}),(0,n.jsxs)("mesh",{ref:t,children:[(0,n.jsx)("sphereGeometry",{args:[1.2,32,32]}),(0,n.jsx)("meshStandardMaterial",{color:"white",roughness:.3,metalness:.1})]})},dodecahedron:function(e){let{speed:r=.35}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.x+=n*r*.6,t.current.rotation.y+=n*r)}),(0,n.jsxs)("mesh",{ref:t,children:[(0,n.jsx)("dodecahedronGeometry",{args:[1.2]}),(0,n.jsx)("meshStandardMaterial",{color:"white",roughness:.4})]})},icosahedron:function(e){let{speed:r=.3}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.x+=n*r*.8,t.current.rotation.y+=n*r)}),(0,n.jsxs)("mesh",{ref:t,children:[(0,n.jsx)("icosahedronGeometry",{args:[1.3,0]}),(0,n.jsx)("meshStandardMaterial",{color:"white",flatShading:!0})]})},octahedron:function(e){let{speed:r=.4}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.x+=n*r*.5,t.current.rotation.y+=n*r)}),(0,n.jsxs)("mesh",{ref:t,children:[(0,n.jsx)("octahedronGeometry",{args:[1.3]}),(0,n.jsx)("meshStandardMaterial",{color:"white",flatShading:!0})]})},torus:function(e){let{speed:r=.35}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.x+=n*r,t.current.rotation.y+=n*r*.6)}),(0,n.jsxs)("mesh",{ref:t,children:[(0,n.jsx)("torusGeometry",{args:[1,.4,32,64]}),(0,n.jsx)("meshStandardMaterial",{color:"white",roughness:.3})]})},cube:function(e){let{speed:r=.4}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.x+=n*r*.7,t.current.rotation.y+=n*r)}),(0,n.jsxs)("mesh",{ref:t,children:[(0,n.jsx)("boxGeometry",{args:[1.5,1.5,1.5]}),(0,n.jsx)("meshStandardMaterial",{color:"white"})]})},skull:function(e){let{speed:r=.3}=e,t=(0,a.useRef)(null);return(0,o.D)((e,n)=>{t.current&&(t.current.rotation.y+=n*r)}),(0,n.jsxs)("group",{ref:t,children:[(0,n.jsxs)("mesh",{position:[0,.3,0],children:[(0,n.jsx)("sphereGeometry",{args:[1,32,32]}),(0,n.jsx)("meshStandardMaterial",{color:"white",roughness:.5})]}),(0,n.jsxs)("mesh",{position:[0,-.6,.3],scale:[.7,.4,.6],children:[(0,n.jsx)("sphereGeometry",{args:[1,16,16]}),(0,n.jsx)("meshStandardMaterial",{color:"white",roughness:.5})]}),(0,n.jsxs)("mesh",{position:[-.35,.3,.8],children:[(0,n.jsx)("sphereGeometry",{args:[.25,16,16]}),(0,n.jsx)("meshStandardMaterial",{color:"black"})]}),(0,n.jsxs)("mesh",{position:[.35,.3,.8],children:[(0,n.jsx)("sphereGeometry",{args:[.25,16,16]}),(0,n.jsx)("meshStandardMaterial",{color:"black"})]}),(0,n.jsxs)("mesh",{position:[0,0,.9],scale:[.15,.25,.1],children:[(0,n.jsx)("sphereGeometry",{args:[1,8,8]}),(0,n.jsx)("meshStandardMaterial",{color:"black"})]})]})}};function h(e){let{shape:r="torusKnot",characters:t=" .:-+*=%@#",cellSize:o=12,color:s="#a8a29e",invert:h=!1,rotationSpeed:d=.4}=e,x=(0,a.useMemo)(()=>new i.r({characters:t,fontSize:54,cellSize:o,color:s,invert:h}),[t,o,s,h]),f=u[r]||l;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("ambientLight",{intensity:.3}),(0,n.jsx)("directionalLight",{position:[5,5,5],intensity:1}),(0,n.jsx)("directionalLight",{position:[-3,-2,-5],intensity:.4}),(0,n.jsx)("pointLight",{position:[0,0,3],intensity:.5}),(0,n.jsx)(f,{speed:d}),(0,n.jsx)(c.s0,{children:(0,n.jsx)("primitive",{object:x})})]})}function d(e){let{className:r="",bgColor:t="#0c0a09",...o}=e;return(0,n.jsx)("div",{className:r,children:(0,n.jsx)(s.Hl,{camera:{position:[0,0,3.5],fov:50},gl:{antialias:!1},style:{background:"transparent"===t?"transparent":t},children:(0,n.jsx)(h,{...o})})})}},6743:(e,r,t)=>{t.d(r,{r:()=>s});var n=t(5339),o=t(3303);class s extends o.Mj{createCharactersTexture(e,r){let t=document.createElement("canvas");t.width=1024,t.height=1024;let o=new n.GOR(t,void 0,n.GJx,n.GJx,n.hxR,n.hxR),s=t.getContext("2d");if(!s)throw Error("Could not get 2d context");s.clearRect(0,0,1024,1024),s.font="".concat(r,"px arial"),s.textAlign="center",s.textBaseline="middle",s.fillStyle="#fff";for(let r=0;r<e.length;r++){let t=r%16,n=Math.floor(r/16);s.fillText(e[r],64*t+32,64*n+32)}return o.needsUpdate=!0,o}constructor({characters:e=" .:,'-^=*+?!|0#X%WM@",fontSize:r=54,cellSize:t=16,color:o="#ffffff",invert:s=!1}={}){super("ASCIIEffect","\nuniform sampler2D uCharacters;\nuniform float uCharactersCount;\nuniform float uCellSize;\nuniform bool uInvert;\nuniform vec3 uColor;\n\nconst vec2 SIZE = vec2(16.);
1\n\nvec3 greyscale(vec3 color, float strength) {\n    float g = dot(color, vec3(0.299, 0.587, 0.114));\n    return mix(color, vec3(g), strength);\n}\n\nvec3 greyscale(vec3 color) {\n    return greyscale(color, 1.0);\n}\n\nvoid mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) {\n    vec2 cell = resolution / uCellSize;\n    vec2 grid = 1.0 / cell;\n    vec2 pixelizedUV = grid * (0.5 + floor(uv / grid));\n    vec4 pixelized = texture2D(inputBuffer, pixelizedUV);\n    float greyscaled = greyscale(pixelized.rgb).r;\n\n    if (uInvert) {\n        greyscaled = 1.0 - greyscaled;\n    }\n\n    float characterIndex = floor((uCharactersCount - 1.0) * greyscaled);\n    vec2 characterPosition = vec2(mod(characterIndex, SIZE.x), floor(characterIndex / SIZE.y));\n    vec2 offset = vec2(characterPosition.x, -characterPosition.y) / SIZE;\n    vec2 charUV = mod(uv * (cell / SIZE), 1.0 / SIZE) - vec2(0., 1.0 / SIZE) + offset;\n    vec4 asciiCharacter = texture2D(uCharacters, charUV);\n\n    asciiCharacter.rgb = uColor * asciiCharacter.r;\n    asciiCharacter.a = pixelized.a;\n    outputColor = asciiCharacter;\n}\n",{uniforms:new Map([["uCharacters",new n.nc$(new n.gPd)],["uCellSize",new n.nc$(t)],["uCharactersCount",new n.nc$(e.length)],["uColor",new n.nc$(new n.Q1f(o))],["uInvert",new n.nc$(s)]])});let a=this.uniforms.get("uCharacters");a&&(a.value=this.createCharactersTexture(e,r))}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.