ACTUALLY ADD THE TEXT U BOZO

This commit is contained in:
End Nightshade 2026-01-29 20:18:34 -07:00
parent cf1eadc31d
commit 9435ec27db
No known key found for this signature in database
16 changed files with 43171 additions and 122 deletions

36
3d.js
View file

@ -1,5 +1,4 @@
import * as THREE from "three";
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
const scene = new THREE.Scene();
scene.background = new THREE.Color(0x1a1a2e);
@ -11,15 +10,13 @@ const camera = new THREE.PerspectiveCamera(
1000,
);
const renderer = new THREE.WebGLRenderer({ antialias: true });
// Connect to the canvas element instead of appending to body
const renderer = new THREE.WebGLRenderer({
canvas: document.querySelector("#bg"),
antialias: true,
});
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setPixelRatio(window.devicePixelRatio);
document.body.appendChild(renderer.domElement);
// Orbit controls for interaction
const controls = new OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
controls.dampingFactor = 0.05;
// Lights
const ambientLight = new THREE.AmbientLight(0x404040, 0.5);
@ -218,8 +215,8 @@ protogen.add(rightCheek);
scene.add(protogen);
// Set initial camera position
camera.position.set(0, 0, 5);
controls.update();
// Handle window resize
window.addEventListener("resize", () => {
@ -228,22 +225,35 @@ window.addEventListener("resize", () => {
renderer.setSize(window.innerWidth, window.innerHeight);
});
// Scroll animation function
function moveCamera() {
const t = document.body.getBoundingClientRect().top;
// Rotate protogen slightly on scroll
protogen.rotation.y = t * -0.002;
protogen.rotation.x = t * -0.0005;
// Move camera on scroll
camera.position.z = 5 + t * -0.005;
}
document.body.onscroll = moveCamera;
moveCamera();
let time = 0;
function animate() {
requestAnimationFrame(animate);
time += 0.016;
// Gentle floating animation
protogen.position.y = Math.sin(time * 0.5) * 0.1;
protogen.rotation.y = Math.sin(time * 0.3) * 0.1;
// Pulsing glow effect
const pulse = 0.6 + Math.sin(time * 2) * 0.3;
glowMaterial.emissiveIntensity = pulse;
controls.update();
renderer.render(scene, camera);
}
animate();
console.log("Protogen loaded! Drag to rotate, scroll to zoom.");

View file

@ -3,18 +3,102 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>3D Protogen</title>
<title>End's Website</title>
<style>
body {
margin: 0;
overflow: hidden;
}
canvas {
display: block;
position: fixed;
top: 0;
left: 0;
}
* {
font-family: brandon-grotesque, sans-serif;
font-weight: 400;
font-style: normal;
}
main {
color: white;
position: absolute;
width: 100%;
margin: 0px auto;
padding: 120px 0px;
display: grid;
grid-template-columns: repeat(12, 1fr);
}
header {
background: rgba(15, 15, 15, 0.95);
grid-column: 2 / span 5;
font-size: 40px;
padding: 32px;
margin-bottom: 350px;
}
section {
grid-column: 2 / 8;
padding: 16px;
background: rgba(15, 15, 15, 0.95);
font-size: 20px;
line-height: 1.5;
margin-bottom: 350px;
}
.left {
grid-column: 6 / 12;
}
</style>
</head>
<body>
<canvas id="bg"></canvas>
<main>
<header>
<h1>Hi, I'm End! 🦊</h1>
<p>16 y/o coder • she/her • hardware tinkerer</p>
</header>
<section class="left">
<h2>About Me</h2>
<p>
I'm a 16 year old coder who loves tinkering with hardware!
There's something magical about making things work in the
real world, not just on a screen.
</p>
<p>
I'm also a fox! 🦊 I use she/her pronouns. My favorite color
is purple
</p>
</section>
<section>
<h2>What I Do</h2>
<p>
When I'm not messing around with hardware, I'm usually
coding random projects, learning new things, or just vibing
with my protogen here.
</p>
<p>
I love exploring the intersection of software and hardware -
there's so much cool stuff you can build when you combine
the two!
</p>
</section>
<section class="left">
<h2>Let's Connect!</h2>
<p>
Feel free to reach out if you want to chat about code,
hardware projects, or just say hi! Always happy to meet
other tinkerers and makers.
</p>
</section>
</main>
<script type="module" src="/3d.js"></script>
</body>
</html>

5
node_modules/.bin/vite generated vendored
View file

@ -9,6 +9,11 @@ case `uname` in
;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
else

6
node_modules/.modules.yaml generated vendored
View file

@ -35,9 +35,9 @@ included:
injectedDeps: {}
layoutVersion: 5
nodeLinker: isolated
packageManager: pnpm@10.25.0
packageManager: pnpm@10.28.2
pendingBuilds: []
prunedAt: Wed, 24 Dec 2025 19:47:44 GMT
prunedAt: Mon, 02 Feb 2026 18:26:02 GMT
publicHoistPattern: []
registries:
'@jsr': https://npm.jsr.io/
@ -89,6 +89,6 @@ skipped:
- '@rollup/rollup-win32-x64-gnu@4.54.0'
- '@rollup/rollup-win32-x64-msvc@4.54.0'
- fsevents@2.3.3
storeDir: /home/end/.cache/paru/clone/zen-browser/src/pnpm-store/v10
storeDir: /home/end/.cache/paru/clone/zen-browser-git/src/pnpm-store/v10
virtualStoreDir: .pnpm
virtualStoreDirMaxLength: 120

View file

@ -1,9 +1,12 @@
{
"lastValidatedTimestamp": 1766605671464,
"projects": {},
"lastValidatedTimestamp": 1770056762767,
"projects": {
"/home/end/Github/3d-website": {}
},
"pnpmfiles": [],
"settings": {
"autoInstallPeers": true,
"catalogs": {},
"dedupeDirectDeps": false,
"dedupeInjectedDeps": true,
"dedupePeerDependents": true,
@ -19,7 +22,10 @@
"optional": true,
"preferWorkspacePackages": false,
"production": true,
"publicHoistPattern": []
"publicHoistPattern": [],
"workspacePackagePatterns": [
"."
]
},
"filteredInstall": false
}

View file

@ -1,21 +0,0 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir=`cygpath -w "$basedir"`
fi
;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../bin/esbuild" "$@"
else
exec node "$basedir/../../bin/esbuild" "$@"
fi

View file

@ -1,21 +0,0 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir=`cygpath -w "$basedir"`
fi
;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../bin/nanoid.cjs" "$@"
else
exec node "$basedir/../../bin/nanoid.cjs" "$@"
fi

View file

@ -14,8 +14,5 @@ if [ -z "$NODE_PATH" ]; then
else
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
else
exec node "$basedir/../esbuild/bin/esbuild" "$@"
fi
"$basedir/../esbuild/bin/esbuild" "$@"
exit $?

View file

@ -9,8 +9,13 @@ case `uname` in
;;
esac
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../nanoid/bin/nanoid.cjs" "$@"
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
exec node "$basedir/../../../nanoid/bin/nanoid.cjs" "$@"
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/nanoid@3.3.11/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../../../nanoid@3.3.11/node_modules/nanoid/bin/nanoid.cjs" "$@"
else
exec node "$basedir/../../../../../nanoid@3.3.11/node_modules/nanoid/bin/nanoid.cjs" "$@"
fi

View file

@ -1,21 +0,0 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir=`cygpath -w "$basedir"`
fi
;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../dist/bin/rollup" "$@"
else
exec node "$basedir/../../dist/bin/rollup" "$@"
fi

View file

@ -9,5 +9,10 @@ case `uname` in
;;
esac
"$basedir/../../../esbuild/bin/esbuild" "$@"
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules/esbuild/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/esbuild@0.27.2/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
"$basedir/../../../../../esbuild@0.27.2/node_modules/esbuild/bin/esbuild" "$@"
exit $?

View file

@ -9,8 +9,13 @@ case `uname` in
;;
esac
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../rollup/dist/bin/rollup" "$@"
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
exec node "$basedir/../../../rollup/dist/bin/rollup" "$@"
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/dist/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules/rollup/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/rollup@4.54.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../../../rollup@4.54.0/node_modules/rollup/dist/bin/rollup" "$@"
else
exec node "$basedir/../../../../../rollup@4.54.0/node_modules/rollup/dist/bin/rollup" "$@"
fi

View file

@ -1,21 +0,0 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*|*MINGW*|*MSYS*)
if command -v cygpath > /dev/null 2>&1; then
basedir=`cygpath -w "$basedir"`
fi
;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/bin/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules/vite/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/vite@7.3.0/node_modules:/home/end/Github/3d-website/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../bin/vite.js" "$@"
else
exec node "$basedir/../../bin/vite.js" "$@"
fi

View file

@ -1,8 +1,15 @@
{
"hash": "caa7dce8",
"configHash": "925f1d5e",
"hash": "2529f705",
"configHash": "db9d3d16",
"lockfileHash": "b2feefbe",
"browserHash": "05c3e59e",
"optimized": {},
"browserHash": "e7712b57",
"optimized": {
"three": {
"src": "../../.pnpm/three@0.182.0/node_modules/three/build/three.module.js",
"file": "three.js",
"fileHash": "4b146b2b",
"needsInterop": false
}
},
"chunks": {}
}

43002
node_modules/.vite/deps/three.js generated vendored Normal file

File diff suppressed because one or more lines are too long

7
node_modules/.vite/deps/three.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long