chore: scaffold project files

IDEA.md, SESSION.md, DECISIONS.md, CLAUDE.md, .gitignore.
Next session: invoke writing-plans skill against design spec.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mortdecai
2026-04-10 01:07:50 -04:00
parent 81cedfc789
commit f0ac2ccc05
7 changed files with 112 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
__pycache__/
*.pyc
.pytest_cache/
*.egg-info/
venv/
.env
assets/
samples/
.backup/
+25
View File
@@ -0,0 +1,25 @@
# AI Hell — Project Instructions
## What This Is
Passive horror webapp — AI-generated hellscape with infinite escalation. No avatar, no interaction. Server generates assets + controls escalation, frontend composites at 60fps via WebGL. XTTS voices cloned from random non-voice samples for emergent creepiness.
## Stack
- **Container:** LXC on pve197 (V100 32GB, ~6.5GB VRAM)
- **Backend:** Python 3.11+, FastAPI, uvicorn
- **Image gen:** SDXL Turbo (~5GB VRAM)
- **Voice gen:** XTTS v2 (~1.5GB VRAM)
- **Frontend:** Fullscreen WebGL shader compositor, Web Audio API
- **Reverse proxy:** Caddy at hell.sethpc.xyz
## Key Files
- `docs/superpowers/specs/2026-04-10-ai-hell-design.md` — full design spec (START HERE)
- `IDEA.md` — project brief
- `DECISIONS.md` — decision log
- `SESSION.md` — session memory
## Next Step
Run the `writing-plans` skill against the design spec to create an implementation plan, then execute.
+27
View File
@@ -0,0 +1,27 @@
# DECISIONS.md — AI Hell Decision Log
Project-specific decisions. For global/cross-cutting decisions, see `~/bin/DECISIONS.md`.
Format: `YYYY-MM-DD: <decision> — <why>`
## Architecture
2026-04-10: Hybrid architecture (server brain + client rendering) — server generates assets + controls escalation, frontend composites at 60fps via WebGL. Best of both: smooth visuals, server-controlled pacing, GPU gen hidden behind asset pool
2026-04-10: No avatar/3D model — pure environmental horror. Dropped Three.js 3D scene, GLB models, morph targets from claude-avatar
2026-04-10: WebGL 2D shader compositor, not Three.js 3D scene — no 3D environment needed, shader effects on AI images is cheaper and more dynamic
2026-04-10: Based on claude-avatar infra — reuse FastAPI skeleton, WebSocket, SDXL/XTTS loading, config pattern, systemd/Caddy patterns
## Implementation
2026-04-10: Logarithmic escalation curve (rate=0.05) with randomized delivery timing — predictable timing kills horror, stochastic expression prevents habituation
2026-04-10: Three-layer audio (ambient drone + whisper pool + direct address) — builds dread foundation, mid-layer unease, and genuine scare moments
2026-04-10: XTTS fed non-voice audio samples as cloning source — emergent creepiness from the model trying to "speak" as machinery, animals, static. The AI is creepy without being told to be
2026-04-10: Pre-generated asset pool with continuous background generation — bridges GPU latency gap (SDXL 1-2s per image), no dead air in the horror experience
2026-04-10: Liminal imagery (coherent <-> abstract) — things emerge from and dissolve back into chaos, more unsettling than purely recognizable or purely abstract
## Deferred / Rejected
2026-04-10: Deferred webcam integration — detect viewer's face, use it in horror. V2 feature
2026-04-10: Deferred viewer voice cloning — mic input -> XTTS clones them back at them. V2 feature
2026-04-10: Rejected interactive elements — passive viewing is scarier, you can't control it
2026-04-10: Rejected server-streamed frames — GPU-bound 1-2fps too slow, client-side compositing at 60fps is better
+1
View File
@@ -0,0 +1 @@
../GITEA_API.md
+17
View File
@@ -0,0 +1,17 @@
# IDEA.md — AI Hell
## What is this?
Passive horror webapp. You open it, it slowly destroys your comfort. AI-generated imagery shifts between abstract hellscape and recognizable-but-wrong forms. Audio: ambient dread soundscape with AI-voiced whispers cloned from random non-voice samples. Escalation is infinite — never peaks, always worse, with randomized timing. No avatar, no interaction, no UI. You just watch.
## Problem it solves
Proof of concept for AI-driven horror experience. Explores emergent creepiness from feeding XTTS non-voice samples, SDXL horror imagery, and WebGL shader distortion. Based on claude-avatar infrastructure.
## Constraints / preferences
- Runs on pve197 V100 32GB (~6.5GB VRAM: SDXL 5GB + XTTS 1.5GB)
- LXC container on pve197 (reuse CT 167 or new CT)
- Python + FastAPI, single process
- LAN accessible, reverse proxied via Caddy at hell.sethpc.xyz
- Hybrid architecture: server generates assets + controls escalation, frontend composites at 60fps via WebGL
+1
View File
@@ -0,0 +1 @@
../SESSION.default.md
+32
View File
@@ -0,0 +1,32 @@
# SESSION.md — AI Hell
## Project Summary
Passive horror webapp. AI-generated hellscape with infinite escalation, randomized timing, WebGL shader compositor, XTTS voices cloned from non-voice samples. Based on claude-avatar infra.
## Context Files
- `~/bin/CLAUDE.md` — global homelab instructions
- `./IDEA.md` — project brief
- `./DECISIONS.md` — decision log
- `./docs/superpowers/specs/2026-04-10-ai-hell-design.md` — design spec (START HERE)
## Infrastructure
- **Target container:** CT on pve197, V100 32GB GPU passthrough
- **Caddy:** hell.sethpc.xyz -> CT_IP:8400
- **Repo:** git.sethpc.xyz/Seth/ai-hell
## Session Notes
### Design (2026-04-10)
- Brainstormed from claude-avatar baseline
- Key decisions: no avatar (pure environmental horror), hybrid arch (server brain + client rendering), infinite asymptotic escalation with randomized timing, XTTS fed non-voice samples for emergent creepiness
- Stack: SDXL Turbo (images) + XTTS v2 (voices) + WebGL shaders (distortion) + Web Audio (3-layer mixer)
- Design spec written and approved
## Next Steps
- [ ] Write implementation plan (invoke writing-plans skill against design spec)
- [ ] Execute plan