Files
DarkRoom/docs/traceability.md
T
dtourolleandClaude Opus 5 98e0ad0537 Regenerate the traceability matrix
FR-CAT-10, FR-NC-7a and FR-NC-7b gained implementations; the two new
requirements also raise the denominator. 46.9% to 48.6%.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 14:01:01 +02:00

42 KiB

Requirements traceability matrix

Denominators are parsed from requirements.md at run time, never hardcoded. Coverage is the intersection of tagged and defined IDs over defined IDs, so it cannot exceed 100%.

Summary

Metric Value
Source files scanned 153
TRACES tags found 366
Requirements defined 177
Requirements covered 86
Coverage 48.6% (86/177)

By type

Type Covered Defined
FR 68 122
NFR 16 49
R 2 6

Orphan tags

A tag naming an ID requirements.md does not define — what renumbering produces, and what a typo produces.

None.

Tagged requirements

ID Tagged in
FR-CAT-1 core/dr-catalog/src/scan.rs:1, core/dr-catalog/src/walk.rs:109, core/dr-catalog/src/walk.rs:162, core/dr-catalog/src/walk.rs:1, core/dr-sync/src/scan.rs:93, core/dr-types/src/lib.rs:198, core/dr-types/src/lib.rs:267, core/dr-types/src/lib.rs:300, tools/traceability/src/lib.rs:479, tools/traceability/src/lib.rs:511, ui/dr-ui/src/activity.rs:1, ui/dr-ui/src/library.rs:1
FR-CAT-10 core/dr-ingest/src/layout.rs:1, core/dr-ingest/src/lib.rs:1, core/dr-ingest/src/lib.rs:667
FR-CAT-11 core/dr-ingest/src/lib.rs:1, ui/dr-ui/src/library.rs:152
FR-CAT-12 core/dr-pipeline/src/sidecar.rs:109
FR-CAT-15 core/dr-catalog/src/schema.rs:258, core/dr-catalog/src/trash.rs:1, core/dr-sync-nextcloud/src/lib.rs:447, core/dr-sync/src/lib.rs:124, core/dr-sync/src/scan.rs:426, core/dr-sync/src/scan.rs:57, core/dr-thumbs/src/lib.rs:376, ui/dr-ui/src/collections_ui.rs:1173, ui/dr-ui/src/collections_ui.rs:1848, ui/dr-ui/src/library.rs:152, ui/dr-ui/src/library.rs:169, ui/dr-ui/src/library.rs:2576, ui/dr-ui/src/library.rs:2608, ui/dr-ui/src/library_ui.rs:123, ui/dr-ui/src/library_ui.rs:637, ui/dr-ui/src/trash.rs:1, ui/dr-ui/ui/collections.slint:572
FR-CAT-1a core/dr-catalog/src/walk.rs:1, core/dr-types/src/lib.rs:51
FR-CAT-2 core/dr-catalog/src/lib.rs:1, core/dr-catalog/src/schema.rs:1, tools/traceability/src/lib.rs:479
FR-CAT-3 core/dr-catalog/src/jobs.rs:1, core/dr-catalog/src/walk.rs:66, core/dr-sync/src/scan.rs:69, core/dr-thumbs/src/codec.rs:1, core/dr-thumbs/src/lib.rs:1, ui/dr-ui/src/derived_sync.rs:1
FR-CAT-4 core/dr-catalog/src/lib.rs:1, core/dr-catalog/src/query.rs:1, ui/dr-ui/src/library.rs:1, ui/dr-ui/src/library_ui.rs:1
FR-CAT-5 core/dr-catalog/src/rating.rs:1, core/dr-decode/src/lib.rs:243, core/dr-decode/src/lib.rs:310, core/dr-pipeline/src/sidecar.rs:126
FR-CAT-6 core/dr-catalog/src/collections.rs:1, core/dr-catalog/src/lib.rs:1, core/dr-catalog/src/query.rs:1, core/dr-catalog/src/rating.rs:1, core/dr-types/src/selector.rs:1, ui/dr-ui/src/library.rs:179
FR-CAT-7 core/dr-catalog/src/collections.rs:1, core/dr-catalog/src/merge.rs:1, core/dr-catalog/src/sync.rs:1, core/dr-types/src/selector.rs:1, ui/dr-ui/src/collections_ui.rs:1546, ui/dr-ui/src/collections_ui.rs:1, ui/dr-ui/src/derived_sync.rs:1, ui/dr-ui/ui/app.slint:587, ui/dr-ui/ui/collections.slint:4, ui/dr-ui/ui/library.slint:668, ui/dr-ui/ui/library.slint:687
FR-CAT-8 core/dr-pipeline/src/sidecar.rs:90, ui/dr-ui/src/develop.rs:2048, ui/dr-ui/src/export.rs:697, ui/dr-ui/src/lib.rs:1067, ui/dr-ui/src/lib.rs:1407, ui/dr-ui/src/lib.rs:1512, ui/dr-ui/src/lib.rs:462, ui/dr-ui/src/lib.rs:750, ui/dr-ui/src/library.rs:1475, ui/dr-ui/src/library.rs:340, ui/dr-ui/src/library.rs:398, ui/dr-ui/src/library.rs:626, ui/dr-ui/src/library_ui.rs:4062, ui/dr-ui/src/sidecar_cache.rs:1
FR-CAT-9 core/dr-catalog/src/cache.rs:1, core/dr-catalog/src/scan.rs:1, core/dr-catalog/src/schema.rs:230, core/dr-catalog/src/walk.rs:162, core/dr-catalog/src/walk.rs:1, core/dr-catalog/src/walk.rs:435, core/dr-catalog/src/walk.rs:704, core/dr-sync-nextcloud/src/desktop_client.rs:30, core/dr-sync/src/reachability.rs:1, core/dr-types/src/lib.rs:117, ui/dr-ui/src/develop.rs:1756, ui/dr-ui/src/library.rs:138, ui/dr-ui/src/library.rs:1435, ui/dr-ui/src/library.rs:1512, ui/dr-ui/src/library.rs:196, ui/dr-ui/src/library.rs:2791, ui/dr-ui/src/library.rs:398, ui/dr-ui/src/library.rs:610, ui/dr-ui/src/library.rs:626, ui/dr-ui/src/library.rs:680, ui/dr-ui/src/library_ui.rs:1443, ui/dr-ui/src/library_ui.rs:1469, ui/dr-ui/src/library_ui.rs:1485, ui/dr-ui/src/library_ui.rs:1579, ui/dr-ui/src/library_ui.rs:165, ui/dr-ui/src/library_ui.rs:198, ui/dr-ui/src/library_ui.rs:2112, ui/dr-ui/src/library_ui.rs:2377, ui/dr-ui/src/library_ui.rs:2559, ui/dr-ui/src/library_ui.rs:2840, ui/dr-ui/src/library_ui.rs:2912, ui/dr-ui/src/library_ui.rs:3077, ui/dr-ui/src/library_ui.rs:352, ui/dr-ui/src/library_ui.rs:410, ui/dr-ui/src/library_ui.rs:4258, ui/dr-ui/src/library_ui.rs:4373, ui/dr-ui/src/presets.rs:284, ui/dr-ui/src/presets.rs:296, ui/dr-ui/src/sidecar_cache.rs:1
FR-CULL-1 core/dr-decode/src/preview.rs:134
FR-CULL-2 core/dr-decode/src/locate.rs:1, core/dr-decode/src/preview.rs:161
FR-CULL-4 core/dr-catalog/src/rating.rs:1, core/dr-pipeline/src/sidecar.rs:126, ui/dr-ui/src/library.rs:179, ui/dr-ui/src/library.rs:340
FR-DEV-3 core/dr-gpu/src/adjust.rs:1388, core/dr-gpu/src/adjust.rs:297, core/dr-pipeline/src/framing.rs:188, core/dr-pipeline/src/framing.rs:602, core/dr-pipeline/src/mask.rs:120, core/dr-pipeline/src/operation.rs:196, core/dr-pipeline/src/sidecar.rs:147, ui/dr-ui/src/develop.rs:101, ui/dr-ui/src/develop.rs:1099, ui/dr-ui/src/develop.rs:1114, ui/dr-ui/src/develop.rs:1219, ui/dr-ui/src/develop.rs:1290, ui/dr-ui/src/develop.rs:132, ui/dr-ui/src/develop.rs:2404, ui/dr-ui/src/develop.rs:2458, ui/dr-ui/src/develop.rs:249, ui/dr-ui/src/lib.rs:1103, ui/dr-ui/src/lib.rs:1755, ui/dr-ui/src/lib.rs:288, ui/dr-ui/src/masks_ui.rs:217, ui/dr-ui/src/masks_ui.rs:41, ui/dr-ui/src/masks_ui.rs:700, ui/dr-ui/src/masks_ui.rs:814, ui/dr-ui/ui/app.slint:1744
FR-DEV-3a core/dr-pipeline/build.rs:1807, core/dr-pipeline/ops/exposure.yaml:1, core/dr-pipeline/src/descriptor.rs:117, core/dr-pipeline/src/descriptor.rs:157, core/dr-pipeline/src/descriptor.rs:177, core/dr-pipeline/src/descriptor.rs:232, core/dr-pipeline/src/framing.rs:259, core/dr-pipeline/src/graph.rs:162, core/dr-pipeline/src/graph.rs:18, core/dr-pipeline/src/graph.rs:40, core/dr-pipeline/src/graph.rs:53, core/dr-pipeline/src/mask.rs:918, core/dr-pipeline/src/operation.rs:107, ui/dr-ui/src/lib.rs:524
FR-DEV-3b core/dr-pipeline/src/descriptor.rs:177, core/dr-pipeline/src/framing.rs:259, core/dr-pipeline/src/graph.rs:53, core/dr-pipeline/src/operation.rs:107
FR-DEV-3c core/dr-pipeline/build.rs:1807, core/dr-pipeline/ops/exposure.yaml:1, core/dr-pipeline/src/graph.rs:162, core/dr-pipeline/src/graph.rs:40, core/dr-pipeline/src/mask.rs:918, ui/dr-ui/src/develop.rs:3037
FR-DEV-3d core/dr-pipeline/src/framing.rs:188
FR-DEV-3e core/dr-decode/src/lib.rs:504, core/dr-decode/src/lib.rs:646, core/dr-decode/src/lib.rs:686
FR-DEV-3h core/dr-decode/src/lib.rs:310, core/dr-decode/src/preview.rs:29, core/dr-pipeline/src/framing.rs:202, core/dr-types/src/lib.rs:334
FR-DEV-4 core/dr-gpu/src/lib.rs:211
FR-DEV-5 core/dr-pipeline/src/history.rs:124, core/dr-pipeline/src/history.rs:1, core/dr-pipeline/src/history.rs:55, core/dr-pipeline/src/history.rs:71, core/dr-pipeline/src/history.rs:79, ui/dr-ui/src/develop.rs:2064, ui/dr-ui/src/develop.rs:2074, ui/dr-ui/src/develop.rs:231, ui/dr-ui/src/lib.rs:1095
FR-DEV-6 core/dr-pipeline/src/preset.rs:1, core/dr-types/src/settings.rs:61, ui/dr-ui/src/develop.rs:2025, ui/dr-ui/src/develop.rs:2035, ui/dr-ui/src/lib.rs:1067, ui/dr-ui/src/library.rs:1475, ui/dr-ui/src/library.rs:340, ui/dr-ui/src/library.rs:368, ui/dr-ui/src/library_ui.rs:2208, ui/dr-ui/src/library_ui.rs:2559, ui/dr-ui/src/library_ui.rs:378, ui/dr-ui/src/presets.rs:1, ui/dr-ui/src/settings_ui.rs:506, ui/dr-ui/ui/adjust.slint:562, ui/dr-ui/ui/library.slint:1037, ui/dr-ui/ui/library.slint:640, ui/dr-ui/ui/library.slint:697, ui/dr-ui/ui/settings.slint:79
FR-DSP-1 core/dr-gpu/src/adjust.rs:1311, core/dr-gpu/src/adjust.rs:1388, core/dr-gpu/src/adjust.rs:1473, core/dr-gpu/src/adjust.rs:42, core/dr-gpu/src/lib.rs:48, core/dr-gpu/src/lib.rs:88, ui/dr-ui/src/develop.rs:1592, ui/dr-ui/src/develop.rs:2212, ui/dr-ui/src/develop.rs:2582, ui/dr-ui/src/develop.rs:2616, ui/dr-ui/src/lib.rs:57, ui/dr-ui/src/lib.rs:649
FR-DSP-6 core/dr-pipeline/src/operation.rs:169, core/dr-types/src/colour.rs:1
FR-DSP-7 core/dr-gpu/src/histogram.rs:147, core/dr-gpu/src/histogram.rs:1, core/dr-gpu/src/histogram.rs:281, core/dr-gpu/src/histogram.rs:50, core/dr-gpu/src/shaders/histogram.wgsl:1, ui/dr-ui/src/develop.rs:1637, ui/dr-ui/src/develop.rs:242, ui/dr-ui/src/develop.rs:3542, ui/dr-ui/src/develop.rs:3574, ui/dr-ui/src/histogram.rs:1, ui/dr-ui/src/lib.rs:1154, ui/dr-ui/src/lib.rs:283, ui/dr-ui/ui/app.slint:304, ui/dr-ui/ui/histogram.slint:122, ui/dr-ui/ui/histogram.slint:1
FR-EXP-1 core/dr-export/src/encode.rs:1, core/dr-export/src/lib.rs:1, core/dr-types/src/settings.rs:1, ui/dr-ui/src/settings_ui.rs:1
FR-EXP-2 core/dr-export/src/encode.rs:1, core/dr-export/src/error.rs:26, core/dr-export/src/icc.rs:1, core/dr-export/src/lib.rs:137, core/dr-export/src/lib.rs:1, core/dr-export/src/lib.rs:50, core/dr-gpu/src/adjust.rs:1621, core/dr-pipeline/src/graph.rs:335, core/dr-pipeline/src/operation.rs:169, core/dr-types/src/colour.rs:1, core/dr-types/src/settings.rs:1, core/dr-types/src/settings.rs:454, ui/dr-ui/src/settings_ui.rs:1
FR-EXP-3 core/dr-export/src/lib.rs:1, core/dr-export/src/size.rs:1, core/dr-export/src/size.rs:25, core/dr-types/src/settings.rs:1, ui/dr-ui/src/settings_ui.rs:1
FR-EXP-4 core/dr-export/src/lib.rs:1, core/dr-export/src/sharpen.rs:1, core/dr-export/src/size.rs:1, ui/dr-ui/src/settings_ui.rs:1
FR-EXP-5 ui/dr-ui/src/settings_store.rs:1
FR-EXP-6 core/dr-export/src/lib.rs:1, core/dr-export/src/name.rs:1, core/dr-types/src/settings.rs:1, ui/dr-ui/src/export.rs:1, ui/dr-ui/src/lib.rs:326, ui/dr-ui/src/settings_ui.rs:1, ui/dr-ui/src/settings_ui.rs:48, ui/dr-ui/src/settings_ui.rs:561
FR-EXP-7 ui/dr-ui/src/activity.rs:83, ui/dr-ui/src/export.rs:1, ui/dr-ui/src/export.rs:879, ui/dr-ui/src/lib.rs:1678, ui/dr-ui/src/lib.rs:173, ui/dr-ui/src/lib.rs:326, ui/dr-ui/src/lib.rs:361, ui/dr-ui/src/lib.rs:388, ui/dr-ui/src/library_ui.rs:2929, ui/dr-ui/src/library_ui.rs:469, ui/dr-ui/src/library_ui.rs:4999, ui/dr-ui/src/library_ui.rs:5011, ui/dr-ui/src/library_ui.rs:5023, ui/dr-ui/src/library_ui.rs:540, ui/dr-ui/src/library_ui.rs:597, ui/dr-ui/ui/app.slint:1219, ui/dr-ui/ui/app.slint:908, ui/dr-ui/ui/library.slint:1045, ui/dr-ui/ui/library.slint:644, ui/dr-ui/ui/library.slint:712
FR-EXP-8 core/dr-export/src/encode.rs:1, ui/dr-ui/src/settings_ui.rs:1
FR-EXP-9 core/dr-decode/src/lib.rs:412, core/dr-export/src/lib.rs:125, core/dr-export/src/lib.rs:1, core/dr-gpu/src/adjust.rs:415, ui/dr-ui/src/develop.rs:1715, ui/dr-ui/src/lib.rs:326
FR-NC-1 core/dr-sync-nextcloud/src/auth.rs:132, core/dr-sync-nextcloud/src/auth.rs:44, core/dr-sync-nextcloud/src/session.rs:128, ui/dr-ui/src/launch.rs:256, ui/dr-ui/src/launch.rs:49, ui/dr-ui/src/launch_ui.rs:344
FR-NC-10 ui/dr-ui/src/export.rs:1, ui/dr-ui/src/lib.rs:388, ui/dr-ui/src/library.rs:1512, ui/dr-ui/src/library.rs:398, ui/dr-ui/src/library.rs:680, ui/dr-ui/src/library.rs:877, ui/dr-ui/src/library_ui.rs:1485, ui/dr-ui/src/library_ui.rs:2929, ui/dr-ui/src/library_ui.rs:410, ui/dr-ui/src/sidecar_cache.rs:1
FR-NC-12 core/dr-sync-nextcloud/src/lib.rs:34, core/dr-sync-nextcloud/src/lib.rs:892, core/dr-sync/src/lib.rs:157, core/dr-sync/src/lib.rs:40, core/dr-sync/src/reachability.rs:1
FR-NC-2 core/dr-sync-nextcloud/src/session.rs:128, core/dr-sync-nextcloud/src/session.rs:34
FR-NC-3 core/dr-decode/src/locate.rs:1, core/dr-decode/src/preview.rs:161, core/dr-sync/src/capability.rs:41, core/dr-thumbs/src/lib.rs:1, ui/dr-ui/src/library.rs:1, ui/dr-ui/src/library_ui.rs:1
FR-NC-4 core/dr-sync-nextcloud/src/propfind.rs:100, core/dr-sync-nextcloud/src/propfind.rs:51, core/dr-sync/src/capability.rs:6, core/dr-sync/src/lib.rs:157, core/dr-sync/src/scan.rs:93, ui/dr-ui/src/launch.rs:49
FR-NC-5 core/dr-sync-nextcloud/src/propfind.rs:51
FR-NC-6 ui/dr-ui/src/activity.rs:1
FR-NC-6a core/dr-catalog/src/cache.rs:1, core/dr-catalog/src/schema.rs:230, core/dr-catalog/src/schema.rs:631, core/dr-types/src/selector.rs:1, core/dr-types/src/settings.rs:1, ui/dr-ui/src/collections_ui.rs:2965, ui/dr-ui/src/collections_ui.rs:576, ui/dr-ui/src/collections_ui.rs:638, ui/dr-ui/src/lib.rs:1438, ui/dr-ui/src/lib.rs:2160, ui/dr-ui/src/library.rs:1254, ui/dr-ui/src/library.rs:1277, ui/dr-ui/src/library.rs:1435, ui/dr-ui/src/library_ui.rs:1017, ui/dr-ui/src/library_ui.rs:1118, ui/dr-ui/src/library_ui.rs:1173, ui/dr-ui/src/library_ui.rs:1291, ui/dr-ui/src/library_ui.rs:1410, ui/dr-ui/src/library_ui.rs:1888, ui/dr-ui/src/library_ui.rs:206, ui/dr-ui/src/library_ui.rs:217, ui/dr-ui/src/library_ui.rs:225, ui/dr-ui/src/library_ui.rs:237, ui/dr-ui/src/library_ui.rs:246, ui/dr-ui/src/library_ui.rs:311, ui/dr-ui/src/library_ui.rs:321, ui/dr-ui/src/library_ui.rs:363, ui/dr-ui/src/library_ui.rs:426, ui/dr-ui/src/library_ui.rs:4275, ui/dr-ui/src/library_ui.rs:4293, ui/dr-ui/src/library_ui.rs:4305, ui/dr-ui/src/library_ui.rs:457, ui/dr-ui/src/library_ui.rs:469, ui/dr-ui/src/library_ui.rs:944, ui/dr-ui/src/settings_store.rs:1, ui/dr-ui/src/settings_ui.rs:1, ui/dr-ui/ui/app.slint:2214, ui/dr-ui/ui/app.slint:581, ui/dr-ui/ui/collections.slint:249, ui/dr-ui/ui/collections.slint:369, ui/dr-ui/ui/collections.slint:52, ui/dr-ui/ui/collections.slint:682, ui/dr-ui/ui/collections.slint:84, ui/dr-ui/ui/icons.slint:260, ui/dr-ui/ui/library.slint:758
FR-NC-6b ui/dr-ui/src/library_ui.rs:1173
FR-NC-6c core/dr-sync-nextcloud/src/desktop_client.rs:30, core/dr-types/src/lib.rs:117, core/dr-types/src/lib.rs:199, ui/dr-ui/src/activity.rs:1, ui/dr-ui/src/collections_ui.rs:2965, ui/dr-ui/src/collections_ui.rs:576, ui/dr-ui/src/collections_ui.rs:638, ui/dr-ui/src/library_ui.rs:1017, ui/dr-ui/src/library_ui.rs:944, ui/dr-ui/ui/collections.slint:249, ui/dr-ui/ui/collections.slint:682, ui/dr-ui/ui/icons.slint:260
FR-NC-7 core/dr-sync-nextcloud/src/lib.rs:95, ui/dr-ui/src/derived_sync.rs:1
FR-NC-7a core/dr-ingest/src/layout.rs:1, core/dr-sync/src/upload.rs:1
FR-NC-7b core/dr-ingest/src/lib.rs:667, core/dr-sync/src/upload.rs:1
FR-NC-8 core/dr-pipeline/src/sidecar.rs:109, core/dr-pipeline/src/sidecar.rs:90, ui/dr-ui/src/lib.rs:1407, ui/dr-ui/src/library.rs:340, ui/dr-ui/src/library_ui.rs:378
FR-NC-9 core/dr-catalog/src/merge.rs:1, core/dr-catalog/src/sync.rs:1, core/dr-pipeline/src/sidecar.rs:147, core/dr-pipeline/src/sidecar.rs:301, ui/dr-ui/src/library.rs:680, ui/dr-ui/src/library.rs:810
FR-PLAT-AND-1 core/dr-types/src/lib.rs:51
FR-PLAT-AND-3 core/dr-catalog/src/jobs.rs:1
FR-PLAT-LIN-1 core/dr-types/src/settings.rs:1, ui/dr-ui/src/settings_store.rs:1
FR-RAW-1 core/dr-decode/src/lib.rs:201, core/dr-types/src/lib.rs:127, core/dr-types/src/lib.rs:198
FR-RAW-3 core/dr-decode/src/lib.rs:412, core/dr-decode/src/lib.rs:97, core/dr-decode/src/locate.rs:1045
FR-RAW-4 core/dr-decode/src/error.rs:1, ui/dr-ui/src/lib.rs:173
FR-RAW-5 core/dr-decode/src/lib.rs:125, core/dr-gpu/src/demosaic.rs:34, core/dr-gpu/src/demosaic.rs:573, core/dr-gpu/src/demosaic.rs:652, core/dr-gpu/src/demosaic.rs:776
FR-UI-1 ui/dr-ui/src/lib.rs:2242, ui/dr-ui/src/lib.rs:65, ui/dr-ui/src/masks_ui.rs:700, ui/dr-ui/ui/library.slint:804
FR-UI-2 ui/dr-ui/src/collections_ui.rs:111, ui/dr-ui/src/collections_ui.rs:1450, ui/dr-ui/src/collections_ui.rs:1464, ui/dr-ui/src/collections_ui.rs:1509, ui/dr-ui/src/collections_ui.rs:1519, ui/dr-ui/src/collections_ui.rs:152, ui/dr-ui/src/collections_ui.rs:444, ui/dr-ui/src/collections_ui.rs:472, ui/dr-ui/src/collections_ui.rs:943, ui/dr-ui/src/collections_ui.rs:953, ui/dr-ui/src/lib.rs:65, ui/dr-ui/src/library_ui.rs:225, ui/dr-ui/src/library_ui.rs:4305, ui/dr-ui/ui/app.slint:592, ui/dr-ui/ui/app.slint:599, ui/dr-ui/ui/library.slint:1784, ui/dr-ui/ui/library.slint:632, ui/dr-ui/ui/library.slint:668, ui/dr-ui/ui/library.slint:947, ui/dr-ui/ui/library.slint:954, ui/dr-ui/ui/library.slint:960
FR-UI-3 ui/dr-ui/src/develop.rs:1290, ui/dr-ui/src/library_ui.rs:3581, ui/dr-ui/src/masks_ui.rs:217, ui/dr-ui/src/masks_ui.rs:792, ui/dr-ui/src/masks_ui.rs:814, ui/dr-ui/ui/app.slint:1744, ui/dr-ui/ui/collections.slint:4, ui/dr-ui/ui/collections.slint:682
FR-UI-4 ui/dr-ui/src/collections_ui.rs:111, ui/dr-ui/src/collections_ui.rs:124, ui/dr-ui/src/collections_ui.rs:1450, ui/dr-ui/src/collections_ui.rs:1464, ui/dr-ui/src/collections_ui.rs:1509, ui/dr-ui/src/collections_ui.rs:1519, ui/dr-ui/src/collections_ui.rs:152, ui/dr-ui/src/collections_ui.rs:1546, ui/dr-ui/src/collections_ui.rs:444, ui/dr-ui/src/collections_ui.rs:472, ui/dr-ui/src/collections_ui.rs:537, ui/dr-ui/src/collections_ui.rs:943, ui/dr-ui/src/collections_ui.rs:953, ui/dr-ui/src/library_ui.rs:3581, ui/dr-ui/src/library_ui.rs:3626, ui/dr-ui/src/library_ui.rs:3729, ui/dr-ui/src/library_ui.rs:3757, ui/dr-ui/src/library_ui.rs:4293, ui/dr-ui/src/library_ui.rs:4305, ui/dr-ui/ui/app.slint:1440, ui/dr-ui/ui/app.slint:587, ui/dr-ui/ui/app.slint:599, ui/dr-ui/ui/library.slint:1784, ui/dr-ui/ui/library.slint:632, ui/dr-ui/ui/library.slint:668, ui/dr-ui/ui/library.slint:687, ui/dr-ui/ui/library.slint:947, ui/dr-ui/ui/library.slint:954, ui/dr-ui/ui/library.slint:960
FR-UI-5 ui/dr-ui/src/collections_ui.rs:1, ui/dr-ui/src/lib.rs:1887, ui/dr-ui/src/lib.rs:2276, ui/dr-ui/src/lib.rs:2461, ui/dr-ui/src/masks_ui.rs:747, ui/dr-ui/ui/app.slint:325, ui/dr-ui/ui/collections.slint:4
FR-UI-7 core/dr-pipeline/src/descriptor.rs:100, core/dr-pipeline/src/framing.rs:259
NFR-ARCH-2 core/dr-catalog/src/jobs.rs:1
NFR-ARCH-3 ui/dr-ui/src/export.rs:1490, ui/dr-ui/src/export.rs:1516, ui/dr-ui/src/export.rs:410, ui/dr-ui/src/export.rs:436, ui/dr-ui/src/lib.rs:1712, ui/dr-ui/ui/app.slint:919, ui/dr-ui/ui/library.slint:712
NFR-ARCH-4 core/dr-catalog/src/error.rs:1, core/dr-export/src/error.rs:1, core/dr-thumbs/src/error.rs:1, ui/dr-ui/src/export.rs:500
NFR-OPS-1 tools/traceability/src/lib.rs:266
NFR-P1 core/dr-catalog/src/lib.rs:1, core/dr-catalog/src/scan.rs:1, core/dr-catalog/src/walk.rs:162, core/dr-catalog/src/walk.rs:1, tools/traceability/src/lib.rs:479
NFR-P13 core/dr-decode/src/preview.rs:134
NFR-P9 ui/dr-ui/src/collections_ui.rs:1, ui/dr-ui/src/export.rs:879, ui/dr-ui/src/library.rs:1, ui/dr-ui/src/library_ui.rs:1, ui/dr-ui/src/trash.rs:1
NFR-PORT-1 core/dr-catalog/src/walk.rs:1, core/dr-types/src/lib.rs:267, core/dr-types/src/lib.rs:300
NFR-R1 core/dr-catalog/src/sync.rs:1, ui/dr-ui/src/library.rs:877
NFR-R2 core/dr-catalog/src/trash.rs:1
NFR-R5 core/dr-catalog/src/collections.rs:1, core/dr-catalog/src/error.rs:1, core/dr-catalog/src/schema.rs:1
NFR-R7 core/dr-gpu/src/error.rs:1
NFR-R8 core/dr-gpu/src/error.rs:1
NFR-RES-1 core/dr-pipeline/src/history.rs:55, ui/dr-ui/src/lib.rs:57
NFR-RES-4 core/dr-catalog/src/cache.rs:1, core/dr-catalog/src/schema.rs:230, core/dr-thumbs/src/codec.rs:1, core/dr-thumbs/src/lib.rs:1, core/dr-thumbs/src/lib.rs:376
NFR-SEC-1 core/dr-decode/src/error.rs:1
R1 tools/traceability/src/lib.rs:495, tools/traceability/src/lib.rs:499
R4 core/dr-gpu/src/lib.rs:211

Not yet tagged

91 of 177 requirements have no implementation tag. Expected while the codebase is young; each should gain one as it is built.

Show untagged requirements
  • FR-CAT-13
  • FR-CAT-14
  • FR-CULL-10
  • FR-CULL-11
  • FR-CULL-12
  • FR-CULL-3
  • FR-CULL-5
  • FR-CULL-6
  • FR-CULL-7
  • FR-CULL-8
  • FR-CULL-9
  • FR-DEV-1
  • FR-DEV-2
  • FR-DEV-3f
  • FR-DEV-3g
  • FR-DEV-7
  • FR-DEV-8
  • FR-DSP-2
  • FR-DSP-3
  • FR-DSP-4
  • FR-DSP-5
  • FR-DSP-8
  • FR-NC-11
  • FR-PLAT-AND-2
  • FR-PLAT-AND-4
  • FR-PLAT-AND-5
  • FR-PLAT-AND-6
  • FR-PLAT-LIN-2
  • FR-PLAT-LIN-3
  • FR-PLG-1
  • FR-PLG-10
  • FR-PLG-11
  • FR-PLG-12
  • FR-PLG-1a
  • FR-PLG-2
  • FR-PLG-2a
  • FR-PLG-2b
  • FR-PLG-2c
  • FR-PLG-2d
  • FR-PLG-3
  • FR-PLG-3a
  • FR-PLG-4
  • FR-PLG-4a
  • FR-PLG-5
  • FR-PLG-5a
  • FR-PLG-5b
  • FR-PLG-5c
  • FR-PLG-6
  • FR-PLG-6a
  • FR-PLG-7
  • FR-PLG-8
  • FR-PLG-9
  • FR-RAW-2
  • FR-UI-6
  • NFR-A11Y-1
  • NFR-A11Y-2
  • NFR-A11Y-3
  • NFR-ARCH-1
  • NFR-COMPAT-1
  • NFR-COMPAT-2
  • NFR-OPS-2
  • NFR-OPS-3
  • NFR-OPS-4
  • NFR-P10
  • NFR-P11
  • NFR-P12
  • NFR-P14
  • NFR-P15
  • NFR-P2
  • NFR-P3
  • NFR-P4
  • NFR-P5
  • NFR-P6
  • NFR-P7
  • NFR-P8
  • NFR-PORT-2
  • NFR-PORT-3
  • NFR-R3
  • NFR-R4
  • NFR-R6
  • NFR-RES-2
  • NFR-RES-3
  • NFR-SEC-2
  • NFR-SEC-3
  • NFR-SEC-4
  • NFR-SEC-5
  • NFR-SEC-6
  • R2
  • R3
  • R5
  • R6