[workspace] resolver = "2" members = [ "core/dr-types", "core/dr-decode", "core/dr-gpu", "core/dr-sync", "core/dr-sync-nextcloud", "ui/dr-ui", "apps/darkroom-desktop", "tools/traceability", ] [workspace.package] version = "0.1.0" edition = "2021" rust-version = "1.92" license = "GPL-3.0-or-later" repository = "https://github.com/dtourolle/DarkRoom" [workspace.dependencies] # Internal dr-types = { path = "core/dr-types" } dr-decode = { path = "core/dr-decode" } dr-gpu = { path = "core/dr-gpu" } dr-sync = { path = "core/dr-sync" } dr-sync-nextcloud = { path = "core/dr-sync-nextcloud" } dr-ui = { path = "ui/dr-ui" } # GPU + UI wgpu = "23" slint = { version = "1.9", default-features = false } slint-build = "1.9" # Foundations anyhow = "1" thiserror = "2" log = "0.4" env_logger = "0.11" pollster = "0.4" # Networking — no mature Nextcloud crate exists; the connector is hand-rolled # over reqwest (D7). reqwest_dav was evaluated and is too thin to build on. # `rustls` (not `rustls-tls` — renamed in 0.13) pulls in # rustls-platform-verifier, which crashes on Android unless initialised from # Kotlin. That is spike S3, and D7 records `tls_certs_only` + webpki-roots as # the escape hatch. reqwest = { version = "0.13", default-features = false, features = ["rustls", "stream", "json"] } quick-xml = "0.41" tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time"] } url = "2.5" async-trait = "0.1" serde = { version = "1", features = ["derive"] } serde_json = "1" base64 = "0.23" # Decode. rawler is the pure-Rust decoder (D2); zune-jpeg decodes the # embedded previews rawler extracts. rawler = "0.7" zune-jpeg = "0.4.21" bytemuck = { version = "1", features = ["derive"] } [profile.dev] # Dependencies optimised even in dev builds — wgpu and image decoding are # unusably slow otherwise, and they rarely need debugging. opt-level = 0 [profile.dev.package."*"] opt-level = 2 [profile.release] lto = "thin" codegen-units = 1