tl/.gitignore
Your Name e6d150c375 feat: production deploy (Fly + R2) + frame controls and picker glow
Deploy:
- Multi-stage Dockerfile (shadow-cljs release → Python+ffmpeg runtime), fly.toml
  (one machine, scale-to-zero, SQLite on a volume), .dockerignore, DEPLOY.md
- Same-origin release build: api-port defaults "9001" for dev, "" in release
  (no CORS in prod)
- env-driven settings (SECRET_KEY/DEBUG/ALLOWED_HOSTS/DB_PATH/CSRF), WhiteNoise
  serving static + the SPA, R2 (S3-compatible) media storage when R2_* is set
- thumbnails reworked storage-agnostic: download clip, ffmpeg select-pass, upload
  tiles via default_storage (R2 in prod, disk in dev)
- pin channels/daphne; add whitenoise/django-storages/boto3

UI:
- frame step buttons flanking play (disabled at timeline bounds)
- Add-annotation button moved into the toolbar, made prominent
- picker mode pulses a 1-bit glow on clips / frame readout / (while linking)
  annotation bars; linking an annotation bar inserts a timeline link

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 00:56:09 -04:00

41 lines
457 B
Text

# Build output
/target/
/checkouts/
/out/
/src/gen/
public/js
resources/public/js/compiled/
# Clojure / Leiningen / shadow-cljs
pom.xml
pom.xml.asc
*.jar
.lein-*
.nrepl-port
.cpcache/
.shadow-cljs/
*-init.clj
# Tooling caches (keep configs, drop caches)
.clj-kondo/.cache/
.lsp/.cache/
# Node
node_modules/
# Logs
*.log
# Editors / OS
*.iml
.idea/
.vscode/
.DS_Store
# Python / Django backend
.venv/
__pycache__/
*.pyc
db.sqlite3
/media/
staticfiles/