<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport"content="width=device-width,initial-scale=1.0"><style>body{margin:0;overflow:hidden}</style><script type="importmap">{"imports":{"three":"https://unpkg.com/three/build/three.module.js","three/addons/":"https://unpkg.com/three/examples/jsm/"}}</script></head><body><script type="module">import*as A from"three";import{AsciiEffect as B}from"three/addons/effects/AsciiEffect.js";import{TrackballControls as C}from"three/addons/controls/TrackballControls.js";import{FontLoader as D}from"three/addons/loaders/FontLoader.js";import{TextGeometry as E}from"three/addons/geometries/TextGeometry.js";let g,h,i,j,k,l;const m=Date.now();n();function n(){g=new A.PerspectiveCamera(70,window.innerWidth/window.innerHeight,1,1e3),g.position.y=50,g.position.z=300,i=new A.Scene,i.background=new A.Color(0,0,0);const t=new A.PointLight(16777215,3,0,0);t.position.set(500,500,500),i.add(t);const o=new A.PointLight(16777215,1,0,0);o.position.set(-500,-500,-500),i.add(o);const p=new D;p.load("https://threejs.org/examples/fonts/helvetiker_regular.typeface.json",function(r){const s=new E("TE AMO YSAH",{font:r,size:40,height:5,curveSegments:12,bevelEnabled:!0,bevelThickness:1,bevelSize:2,bevelSegments:2}),u=new A.MeshPhongMaterial({color:16777215});l=new A.Mesh(s,u),s.computeBoundingBox();const f=-.05*(s.boundingBox.max.x-s.boundingBox.min.x);l.position.x=f,l.position.y=0,l.position.z=0,l.geometry.translate(-.5*(s.boundingBox.max.x-s.boundingBox.min.x),-.5*(s.boundingBox.max.y-s.boundingBox.min.y),-.5*(s.boundingBox.max.z-s.boundingBox.min.z)),i.add(l)}),j=new A.WebGLRenderer,j.setSize(window.innerWidth,window.innerHeight),j.setAnimationLoop(q),k=new B(j," .:-+*=%@#",{invert:!0}),k.setSize(window.innerWidth,window.innerHeight),k.domElement.style.color="green",k.domElement.style.backgroundColor="black",document.body.appendChild(k.domElement),h=new C(g,k.domElement),window.addEventListener("resize",v)}function v(){g.aspect=window.innerWidth/window.innerHeight,g.updateProjectionMatrix(),j.setSize(window.innerWidth,window.innerHeight),k.setSize(window.innerWidth,window.innerHeight)}function q(){const t=Date.now()-m;l&&(l.position.y=25*Math.sin(.002*t)+30,l.rotation.y+=.005),h.update(),k.render(i,g)}</script></body></html>
