You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DESIGN.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ Its primary purpose is consistency during development, not full architecture cov
19
19
-`src/renderer.rs`: pixel buffer to `egui::ColorImage` rendering helpers.
20
20
-`src/logging.rs`: logging setup and log-level configuration.
21
21
-`src/app.rs`: UI, application state, interactions, and worker orchestration.
22
+
-`src/app/overlay.rs`: overlay reconciliation, authoritative overlay snapshots, and overlay availability/navigation.
22
23
-`src/app/load.rs`: launch/open/load orchestration and DICOMweb/local load pipelines.
23
24
-`src/app/history.rs`: history management and preload/orchestration.
24
25
-`tools/benchmark`: development-only end-to-end benchmark tools and synthetic DICOM generation.
@@ -73,8 +74,10 @@ Its primary purpose is consistency during development, not full architecture cov
73
74
- Run all UI-only checks above.
74
75
- Run `cargo test --workspace --all-targets --all-features --locked`.
75
76
- Run module-specific validations for decode and renderer output tests.
76
-
5. Streaming/overlay/history/concurrency changes (`app.rs` GSPS/SR/Parametric Map attach helpers and overlay toggle/navigation, `app/load.rs` launch/load pipeline and worker channels, `app/history.rs` history/preload orchestration):
77
+
5. Streaming/overlay/history/concurrency changes (`app/overlay.rs` GSPS/SR/Parametric Map attach helpers and overlay toggle/navigation, `app/load.rs` launch/load pipeline and worker channels, `app/history.rs` history/preload orchestration):
77
78
- Run all launch/parsing checks above.
79
+
- Run paired baseline vs refactor benchmark runs via `make benchmark` with identical `BENCH_*` environment settings.
80
+
- Report median deltas for `total`, `startup`, `dicom_load`, and `render_ui`, and summarize any regressions before approving the PR.
78
81
- Confirm SR-only open uses the dedicated SR parser/UI path and that `load_dicom` rejects SR objects.
79
82
- Confirm Parametric Map-only open uses the dedicated parser/UI path and that `load_dicom` rejects Parametric Map objects.
80
83
- Ensure mixed image+SR selections keep images in active viewports while staging SR documents as separate history entries, without regressing GSPS/SR/Parametric Map/history/streaming invariants.
@@ -84,4 +87,5 @@ Its primary purpose is consistency during development, not full architecture cov
84
87
- Run `cargo fmt --all -- --check`.
85
88
- Run `cargo clippy --workspace --all-targets --all-features -- -D warnings`.
86
89
- Run `cargo test --workspace --all-targets --all-features --locked`.
90
+
- Run paired baseline vs refactor benchmark runs via `make benchmark` with identical `BENCH_*` environment settings, and include a short summary of median deltas/regressions for `total`, `startup`, `dicom_load`, and `render_ui`.
87
91
- If benchmark launch flow changed, build both `cargo build --release -p perspecta --bin perspecta` and `cargo build --release -p benchmark-tools --bin benchmark_full_single_open`.
0 commit comments