Fixes #5 The Workshop page was stuck on INITIALIZING forever because: - main.js was never loaded (script tag was commented out) - No WebSocket connection logic existed - No status indicator or error handling Changes: - Add connection status HUD to world/index.html showing connection state (CONNECTING/ONLINE/OFFLINE) and agent count - Implement WebSocket connection to tower-hermes with 5s timeout - Auto-retry up to 3 times with 3s delay between attempts - Show "OFFLINE — backend unreachable" with manual retry button when all auto-retries are exhausted - Enable main.js module script Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Wizard's Tower
AlexanderWhitestone.com — two rooms, nothing else.
Rooms
- The Workshop (
/world/) — A 3D space where Timmy lives. Visitors enter and interact. - The Scrolls (
/blog/) — Alexander's words. Plain text, RSS, sovereign publishing.
Structure
index.html Entry hall — two doors
world/ The Workshop (3D scene, Timmy presence)
blog/ The Scrolls (posts, RSS feed)
scripts/ CLI tools (aw-post for quick publishing)
static/ Shared assets (fonts, favicon)
Makefile Build, dev, deploy
Development
make dev # Local dev server on :8080
make build # Build static site
make deploy # Deploy (configure target in Makefile)
Tech Decisions (Open)
- 3D engine: Three.js vs Babylon.js
- Blog: Hugo vs hand-rolled static generator
- Hosting: self-hosted Nginx/Caddy vs static CDN
- Timmy's 3D character design
Philosophy
Two doors. No navbar. No sidebar. No footer links. You walk in, you choose a room. The Workshop is alive. The Scrolls are permanent. That's the Tower.
Description
Languages
Python
38.6%
HTML
34.6%
JavaScript
13%
Shell
10.9%
Makefile
2.9%