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
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ Its primary purpose is consistency during development, not full architecture cov
23
23
24
24
## Core Invariants
25
25
26
-
1. Supported group sizes MUST be exactly `1`, `2`, `3`, `4`, or `8`.
26
+
1. Supported primary displayable group sizes MUST be exactly `1`, `2`, `3`, `4`, or `8`; supplementary GSPS/SR objects do not count toward that total.
27
27
2. Multi-view rendering paths MUST apply only to `2`, `3`, `4`, or `8`.
28
28
3. Non-image DICOM objects (`DicomPathKind::Other`) and Structured Reports MUST NOT be passed to `load_dicom`.
29
29
4. Structured Reports MUST load through the dedicated SR parser and single-document UI path.
@@ -34,6 +34,7 @@ Its primary purpose is consistency during development, not full architecture cov
34
34
9. Streaming completion logic MUST compare image counts (not total paths including GSPS/SR).
35
35
10. UI state mutations MUST stay on the main thread; workers MUST communicate through channels.
36
36
11. Production diagnostics MUST use logging (`log` macros), not `println!/eprintln!`.
37
+
12. DICOMweb metadata parsing MUST use top-level instance identifiers; nested reference tags inside GSPS/SR sequences MUST NOT override the owning series or instance identity.
|`paths`, `files`| Add multiple local file paths (comma- or pipe-separated) |
103
-
|`group`| Add one local preload group (must contain `1`, `2`, `3`, `4`, or `8`paths)|
103
+
|`group`| Add one local preload group; after filtering supplementary GSPS/SR objects, each group must resolve to `1`, `2`, `3`, `4`, or `8`displayable items|
104
104
|`groups`| Add multiple local preload groups separated by `;`|
105
105
|`open_group`| Select which preloaded group opens first (default `0`) |
106
106
|`dicomweb`| DICOMweb base URL (or full URL containing study/series/instance path segments) |
107
107
|`study`| StudyInstanceUID (required for DICOMweb launch) |
108
108
|`series`| SeriesInstanceUID (optional) |
109
109
|`instance`| SOPInstanceUID (optional) |
110
-
|`group_series`| DICOMweb grouped preload by series UID lists (each group must contain `1`, `2`, `3`, `4`, or `8`)|
110
+
|`group_series`| DICOMweb grouped preload by series UID lists; each group must resolve to `1`, `2`, `3`, `4`, or `8` displayable items, while supplementary GSPS/SR objects do not count toward that total|
0 commit comments