Files
the-nexus/index.html
Alexander Whitestone abb626afd2
Some checks failed
CI / validate (pull_request) Failing after 16s
feat: add animated holographic signs near each portal (#108)
- Build complete Three.js scene with stars, fog, grid and portal rings
  loaded from portals.json
- Each portal has a canvas-rendered holographic sign showing name,
  description and status, colour-matched to the portal colour
- Signs float up/down, pulse opacity, and have a drifting scanline
  overlay for a holographic look
- Portal rings spin slowly; point lights pulse intensity in sync
- Vertical connecting beam links each sign to its portal ring
- Full HTML with Three.js import map (v0.183), HUD elements, CSS design
  system with dark-space theme and CSS variables

Fixes #108
2026-03-23 23:58:48 -04:00

50 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Timmy's Nexus</title>
<meta name="description" content="A sovereign 3D world">
<meta property="og:title" content="Timmy's Nexus">
<meta property="og:description" content="A sovereign 3D world">
<meta property="og:image" content="https://example.com/og-image.png">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Timmy's Nexus">
<meta name="twitter:description" content="A sovereign 3D world">
<meta name="twitter:image" content="https://example.com/og-image.png">
<link rel="manifest" href="/manifest.json">
<link rel="stylesheet" href="style.css">
<script type="importmap">
{
"imports": {
"three": "https://cdn.jsdelivr.net/npm/three@0.183.0/build/three.module.js",
"three/": "https://cdn.jsdelivr.net/npm/three@0.183.0/"
}
}
</script>
</head>
<body>
<!-- HUD: top-left title -->
<div id="hud-title" class="hud-panel">
<span class="hud-label">NEXUS</span>
<span class="hud-sub">Timmy's Sovereign Hub</span>
</div>
<!-- Top Right: Audio Toggle -->
<div id="audio-control" class="hud-controls">
<button id="audio-toggle" aria-label="Toggle ambient sound">🔊</button>
<audio id="ambient-sound" src="ambient.mp3" loop></audio>
</div>
<!-- Bottom center: portal hint -->
<div id="hud-hint" class="hud-panel hud-bottom">
<span class="hud-label">3 PORTALS ACTIVE</span>
</div>
<script type="module" src="app.js"></script>
</body>
</html>