Files
ai-hell/DECISIONS.md
Mortdecai f0ac2ccc05 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>
2026-04-10 01:07:50 -04:00

2.1 KiB

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