# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
.pytest_cache/
.ruff_cache/

# Virtual envs
.venv/
venv/
env/

# Runtime data (created on demand, never commit)
sessions/
jobs/
data/
*.log
*.mp4
*.webm
*.mov

# Generated TTS artifacts (not source)
templates/*/assets/voiceover.mp3
templates/*/assets/voiceover_timings.json

# HyperFrames render work directories (created by npx hyperframes render)
templates/**/work-*

# OS / editor
.DS_Store
.idea/
.vscode/
*.swp
*~

# Local secrets / overrides
.env
.env.local
*.local

# Build artifacts
build/
dist/
*.egg-info/

# Built SPA (produced by `pnpm --filter ovk-web build`, never commit).
# Vite outputs into static/ (see ovk-web/vite.config.ts → build.outDir).
static/

tmp/

# Local act test secrets (never commit)
scripts/.act.secrets
