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>
41 lines
457 B
Text
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/
|