-
DarkRoom 0.7.0 — Film simulation
Stable🐳 Android image / Build and push (push) Successful in 1sBuild and test / android-image (push) Successful in 1sBuild and test / Desktop (Linux) (push) Successful in 1h20m35sBuild and test / Layer separation (push) Successful in 31sTraceability / Requirement traces (push) Failing after 1m0sBuild and test / Android (aarch64) (push) Failing after 33m5sreleased this
2026-08-26 16:14:23 +00:00 | 929 commits to master since this releaseFilm simulation, and the library that can keep up with it.
Film simulation
DarkRoom now renders a film stock from that stock's own measured
characteristic curves rather than from someone's approximation of the look.
The stock is chosen per photograph and remembered with it.- Five Ilford stocks — Delta 100, Delta 400, FP4 Plus, HP5 Plus and
Pan F Plus — alongside the colour stocks. The profiles state plainly
that they are constructed rather than measured, so nothing here claims
an authority it does not have. - Grain counts silver instead of adding noise on top: density drives
the grain, so it behaves the way the stock does rather than the way a
noise generator does. - Black-and-white negatives are printed rather than shown as a scan,
and development runs from the measurements rather than a contrast slider. - The whole stock renders on the GPU and takes over the render path, so
choosing a film is not a reason to wait.
Library
The grid stopped re-answering the same questions every time the window
moved. It pages along an index rather than re-sorting the library, loads
the window around the whole view instead of its first cell, and fetches
what is on screen before what is not. Shift-click now takes the whole run
it names rather than the part that happened to be loaded, and shows which
cell it is measuring from.Build and CI
Most of this is invisible unless it was broken, and it was.
- The segmentation model reaches CI again. Git LFS was being sent two
Authorizationheaders and Gitea answered 400; the Android image had no
git-lfsclient at all, and then nofile(1)for the API-level check. - The Android build produces an installable APK, assembled by the same
scriptpackage.shuses locally, and signs it with a real key when one
is configured — seedocs/android-signing.md. - The test build stopped filling the runner's disk: no debug info, no
incremental state, 24 GB down to 3.3 GB.
Files
file what darkroom-0.7.0-arm64-v8a.apkAndroid, arm64-v8a, minSdk 28. Debug-signed — this is a build you can install, not a distribution signature. darkroom-desktop-0.7.0-x86_64-linuxLinux desktop binary, x86-64. Needs libfontconfig1andlibxkbcommonpresent.SHA256SUMSchecksums for both. Downloads
- Five Ilford stocks — Delta 100, Delta 400, FP4 Plus, HP5 Plus and