# Build / cache
__pycache__/
*.pyc
.pytest_cache/
.import_linter_cache/
.venv/
*.egg-info/
dist/
build/
*.tsbuildinfo

# Frontend
node_modules/
web/dist/

# User data — never tracked, lives in --data-dir / ANCHOR_DATA_DIR
data/
# Note: top-level docs/ IS tracked — the architecture documentation lives
# there. User-data canvases/ live inside `data/` which is already ignored.

# Local config / env files — never commit credentials
.env
.env.local
.env.*.local

# Editor
.vscode/
.idea/

# OS
.DS_Store
.playwright-cli/
.next/

# Legacy v1 working-tree leftovers at the repo root. These directories /
# files existed before v2 was promoted; they survive locally as untracked
# entries after pulling this commit. Full history is on the
# `archive/pre-v2` branch / `pre-v2-cutoff` tag.
#
# Leading slashes restrict the patterns to the repo root so they don't
# shadow legitimate files of the same name inside `web/`.
/backend/
/backend2/
/packages/
/paperx/
/paper/
/posters/
/public/
/mydata/
/uploads/
/tmp/
/Untitled/
/v2/
/src/components/
/src/app/
/2026-*-hi.txt
/output_bboxes.txt
/metadata.json
/package.json
/package-lock.json
/pnpm-lock.yaml
/postcss.config.cjs
/tailwind.config.cjs
/tsconfig.json
/next.config.ts
/next-env.d.ts
/todos.md
