e929e9917ee07262400d994e6385282dc3f56d2a
Build and test / Desktop (Linux) (push) Failing after 9m10s
Build and test / Layer separation (push) Successful in 27s
Traceability / Requirement traces (push) Failing after 24s
🐳 Android image / Build and push (push) Successful in 1s
Build and test / android-image (push) Successful in 1s
Build and test / Android (aarch64) (push) Failing after 22m15s
Nothing here is film simulation. These are lints that fail master today,
under the -D warnings CI runs with, mostly from a toolchain that learned
new ones rather than from anybody's code -- is_multiple_of and the
derivable Default did not exist as lints when this was written.
They are fixed rather than allowed, and by hand rather than by trusting
cargo clippy --fix wholesale: its automatic pass split a derive in two and
left a stray blank line, which is the sort of thing that is correct and
still wrong to commit.
The four that needed a decision rather than a rewrite:
- the distance transform's inner loop writes through its iterator now.
stays, because it is the position the parabola is evaluated at as
well as the index it is written to -- the lint is about the write.
- and take by value. Their receiver is
Copy, so this is the same machine code and the honest signature.
- the export path's return type is five levels deep and now has a name,
plus a line saying why the Option wraps the Result: None is
cancellation, which is not a failure and has no error to report.
- a test fills a range instead of looping over one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
DarkRoom
A cross-platform, non-destructive RAW photo editor for Linux and Android.
Status: early. v0.1 is a remote library viewer — see docs/milestone-v0.1.md.
Documentation
| Document | Contents |
|---|---|
| requirements.md | What the software must do — 122 numbered requirements |
| architecture.md | How it is built — crates, GPU pipeline, data model, sync |
| milestone-v0.1.md | The first buildable milestone |
Building
Desktop:
cargo run -p darkroom-desktop
Android (containerised toolchain, see docker/android):
./docker/android/build.sh cargo ndk -t arm64-v8a build --release
Current state
Working: workspace, GPU context and compute pass, adaptive Slint shell, Android cross-compilation of the core crates.
Not yet working: the zero-copy display path. The build currently uploads frames through the CPU, which is exactly what ARCH §6.1 forbids — measured at 96% of frame time at 4K. Replacing it is spike S1, the project's highest priority.
cargo run -p dr-gpu --example bench --features readback
reproduces that measurement.
Licence
GPL-3.0-or-later.
Releases
20
DarkRoom 0.24.0
Latest
Languages
Rust
86.1%
Slint
10.3%
Python
1.1%
Shell
1%
WGSL
0.9%
Other
0.6%