[package] name = "dr-ui" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true [dependencies] dr-types.workspace = true # The readback feature is on because Slint's texture-import path is unwired # until spike S1; the develop view has no other way to reach the screen. It # must come off when S1 lands (ARCH §6.1, AC-8). dr-gpu = { workspace = true, features = ["readback"] } dr-decode.workspace = true serde_json.workspace = true tokio.workspace = true reqwest.workspace = true dr-plat.workspace = true dr-sync.workspace = true dr-sync-nextcloud.workspace = true dr-export.workspace = true dr-pipeline.workspace = true dr-catalog.workspace = true dr-thumbs.workspace = true # The library module writes scan results straight into the catalog, so it # needs the same SQLite types dr-catalog exposes. rusqlite.workspace = true # The renderer is shared, but the backend is not: winit on desktop, # android-activity on Android, and enabling both makes the backend selector # pick at random. So the backend features live on the target-specific # dependencies below rather than here. slint = { workspace = true, features = ["compat-1-2", "renderer-femtovg"] } wgpu.workspace = true anyhow.workspace = true # `SettingsError` distinguishes an io failure from a malformed file, which the # settings page reports differently; anyhow would flatten both to a string. thiserror.workspace = true log.workspace = true pollster.workspace = true # Runtime YAML only for `live-style`; release builds read the tokens the # Slint compiler folded in at build time and never touch style.yaml. serde_norway = { workspace = true, optional = true } # Backend per platform. Slint already declares its android-activity backend # under `cfg(target_os = "android")`, so this only has to name the feature; # cargo resolves it away entirely on desktop. [target.'cfg(not(target_os = "android"))'.dependencies] slint = { workspace = true, features = ["backend-winit"] } [target.'cfg(target_os = "android")'.dependencies] slint = { workspace = true, features = ["backend-android-activity-06"] } # Opening the sign-in URL needs an ACTION_VIEW Intent — Android has no # xdg-open. Version-matched to Slint's Android backend so both halves of the # process agree on the JavaVM types; ndk-context supplies the VM and activity # that android-activity's glue already stashed. jni = "0.22" ndk-context = "0.1" [build-dependencies] slint-build.workspace = true # build.rs generates theme.slint from style.yaml (S2). serde_norway.workspace = true [features] default = [] # Temporary CPU readback path; see dr-ui docs and spike S1. readback = ["dr-gpu/readback"] # Debug convenience: re-read style.yaml at startup so a palette can be tuned # without rebuilding. Costs the constant-folding of every token, so it stays # off by default and has no business in a release build. live-style = ["dep:serde_norway"]