Every background job reported into a window property of its own — library-thumbs-done, library-pin-total, library-syncing — which only the grid ever read. A pin download that outlived the view it was started from drew nothing at all once the user opened an image, and there was no answer anywhere to "what is this busy with", because the answer was spread across eight properties nothing collected. They report to one register now (ui/dr-ui/src/activity.rs). It publishes an aggregate, which draws a three-pixel bar across the top of the shell in every view, and a row per job, which the settings page lists: scans, thumbnail batches, pin and open downloads, sidecar uploads, the sync and the trash. Failures stay on the list until they are cleared; routine successes do not, or a scroll would bury them. The handle removes a still-running job when it drops, so a worker that dies mid-transfer takes its row with it rather than leaving the bar sweeping for the rest of the session. Also carries in-flight work from a parallel session — the drawn icon set and the dr-pipeline ops split. dr-pipeline's build script does not compile at this commit; ui/dr-ui does, with clippy clean and its tests passing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
26 lines
1007 B
TOML
26 lines
1007 B
TOML
[package]
|
|
name = "dr-pipeline"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
|
|
# No GPU dependency, deliberately. This crate describes operations and
|
|
# generates their WGSL; dr-gpu compiles and runs it. Keeping wgpu out means
|
|
# the descriptor and codegen logic is testable without a device (ARCH §6.5a).
|
|
[dependencies]
|
|
dr-types.workspace = true
|
|
log.workspace = true
|
|
|
|
# Nodes are declared in `ops/*.yaml` and compiled to Rust by `build.rs`
|
|
# (ARCH §5.7). The same reasoning as `ui/dr-ui`'s style.yaml: the declaration
|
|
# is the source of truth, the Rust is generated into OUT_DIR where it cannot
|
|
# be edited or committed by accident.
|
|
#
|
|
# serde_norway rather than serde_yaml for the reason recorded in the workspace
|
|
# manifest — it is the fork still receiving releases, and it preserves mapping
|
|
# order, which is what lets a node's parameters reach the panel in the order
|
|
# its author wrote them.
|
|
[build-dependencies]
|
|
serde_norway.workspace = true
|