Initial implementation of latent: film-effects editor + develop-later server
All checks were successful
Docker / build-and-push (push) Successful in 3m29s

Canvas-based client-side editor (grain, vignette, halation, procedural
light leaks, color-cast presets) plus a small Express/SQLite server for
the two paths that need persistence: instant share links and delayed
"send to develop" links with a randomized reveal time.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Fredrik Johansson
2026-07-16 15:19:48 +02:00
commit 5a5c0da8a6
20 changed files with 2611 additions and 0 deletions

22
.env.example Normal file
View File

@@ -0,0 +1,22 @@
# Copy to .env to override docker-compose.yml defaults.
# Image to deploy — set by CI/CD normally; only needed for a manual
# docker compose up.
IMAGE=repo.explewd.com/explewd/latent:latest
# Host port to expose (container always listens on 3000).
HOST_PORT=3050
# Randomized "send to develop" delay range, in hours.
DEVELOP_MIN_HOURS=2
DEVELOP_MAX_HOURS=48
# Retention. Instant/share-link images are a casual "just give me a link"
# flow and get a shorter TTL; delayed images must stay alive past
# develop_at with room to actually go view them, so their window is
# measured from develop_at, not upload time.
INSTANT_TTL_HOURS=24
DELAYED_VIEW_WINDOW_HOURS=168
MAX_UPLOAD_BYTES=20971520
RATE_LIMIT_PER_HOUR=30