Files
DarkRoom/docs/traceability.md
T
dtourolleandClaude Opus 5 8ab9440190 Put the repair tool on the photograph
A third chip beside Crop and Local, and the mode strip's own comment
predicted the shape: a mode that arms a gesture on the canvas and scopes
the column. Click a mark to cover it, drag the disc to move the repair,
drag the source circle to say where the patch comes from, Delete to remove
it. The source starts two and a half radii towards the middle of the
frame, which is FR-DEV-8's automatic placement in its cheap form — dust
sits on skies and skies are smooth, so it is usually right and always one
drag from fixed.

Two things are drawn deliberately. The circles are the size the repairs
actually are, because whether a disc covers a speck is the whole judgement
being made and a fixed-size dot would say nothing about it; the reach
around them is padded to a touch target so a spot on a dust mark can still
be picked up on a phone. And only the selected repair shows its source: a
dusty sky carries a dozen, and two dozen circles with nothing saying which
belongs to which is less information rather than more.

The panel edits what is stored while the canvas draws what is mapped, and
the two are pushed separately for that reason — a slider deriving its
value from the drawn radius would move differently at different zoom
levels. It is also the one panel built from SliderRow rather than a live
track: a repair has no OpId to coalesce a drag under, so a row that fires
once per gesture is what keeps undo one step per decision.

Verified as far as this environment allows: the strip renders and the
column re-scopes, photographed under XWayland. Synthetic clicks do not
reach this application, so the gestures are as-written rather than
as-felt, and docs/spot-removal.md says so.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 20:58:13 +02:00

68 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 234
TRACES tags found 669
Requirements defined 177
Requirements covered 91
Coverage 51.4% (91/177)

By type

Type Covered Defined
FR 72 122
NFR 17 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:200, core/dr-types/src/lib.rs:269, core/dr-types/src/lib.rs:302, 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:733, core/dr-types/src/settings.rs:116, ui/dr-ui/src/import.rs:1, ui/dr-ui/src/import.rs:337, ui/dr-ui/src/import_ui.rs:1, ui/dr-ui/src/lib.rs:1008, ui/dr-ui/ui/import.slint:5, ui/dr-ui/ui/library.slint:1007, ui/dr-ui/ui/library.slint:1161, ui/dr-ui/ui/library.slint:857
FR-CAT-11 core/dr-catalog/src/dedup.rs:1, core/dr-ingest/src/lib.rs:1, core/dr-ingest/src/lib.rs:392, core/dr-sync/src/upload.rs:40, ui/dr-ui/src/import.rs:1, ui/dr-ui/src/import_ui.rs:1, ui/dr-ui/src/lib.rs:1008, ui/dr-ui/src/library.rs:152, ui/dr-ui/src/library.rs:2122, ui/dr-ui/ui/import.slint:5
FR-CAT-12 core/dr-pipeline/src/sidecar.rs:121
FR-CAT-13 core/dr-catalog/src/keywords.rs:1
FR-CAT-15 core/dr-catalog/src/schema.rs:422, 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:1225, ui/dr-ui/src/collections_ui.rs:1995, ui/dr-ui/src/library.rs:152, ui/dr-ui/src/library.rs:169, ui/dr-ui/src/library.rs:198, ui/dr-ui/src/library.rs:3007, ui/dr-ui/src/library.rs:3041, ui/dr-ui/src/library_ui.rs:184, ui/dr-ui/src/library_ui.rs:757, 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:53
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, ui/dr-ui/src/import.rs:464, ui/dr-ui/src/import.rs:489, ui/dr-ui/src/library.rs:2598, ui/dr-ui/src/library.rs:2624, ui/dr-ui/src/library_ui.rs:171, ui/dr-ui/src/library_ui.rs:3608, ui/dr-ui/src/library_ui.rs:4574, ui/dr-ui/ui/app.slint:516, ui/dr-ui/ui/settings.slint:340, ui/dr-ui/ui/settings.slint:72
FR-CAT-4 core/dr-catalog/src/lib.rs:1, core/dr-catalog/src/query.rs:1, core/dr-catalog/src/schema.rs:292, ui/dr-ui/src/library.rs:179, ui/dr-ui/src/library.rs:1, ui/dr-ui/src/library_ui.rs:1
FR-CAT-5 core/dr-catalog/src/keywords.rs:1, core/dr-catalog/src/merge.rs:1, core/dr-catalog/src/rating.rs:1, core/dr-catalog/src/schema.rs:337, core/dr-catalog/src/schema.rs:840, core/dr-decode/src/lib.rs:285, core/dr-decode/src/lib.rs:404, core/dr-pipeline/src/sidecar.rs:138, ui/dr-ui/src/collections_ui.rs:1578, ui/dr-ui/src/collections_ui.rs:1597, ui/dr-ui/src/collections_ui.rs:243, ui/dr-ui/src/collections_ui.rs:340, ui/dr-ui/src/collections_ui.rs:89, ui/dr-ui/src/library.rs:3055, ui/dr-ui/src/library_ui.rs:6255, ui/dr-ui/src/library_ui.rs:6266, ui/dr-ui/src/library_ui.rs:6279, ui/dr-ui/src/library_ui.rs:628, ui/dr-ui/src/library_ui.rs:6294, ui/dr-ui/src/library_ui.rs:6303, ui/dr-ui/ui/app.slint:461, ui/dr-ui/ui/app.slint:590, ui/dr-ui/ui/library.slint:1209, ui/dr-ui/ui/library.slint:1212, ui/dr-ui/ui/library.slint:18, ui/dr-ui/ui/library.slint:850, ui/dr-ui/ui/library.slint:901
FR-CAT-6 core/dr-catalog/src/collections.rs:1, core/dr-catalog/src/keywords.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-catalog/src/schema.rs:337, core/dr-types/src/selector.rs:1, core/dr-types/src/settings.rs:63, core/dr-types/src/time.rs:67, core/dr-types/src/time.rs:90, ui/dr-ui/src/library.rs:203, ui/dr-ui/src/library.rs:3301, ui/dr-ui/src/library_ui.rs:315, ui/dr-ui/src/library_ui.rs:387, ui/dr-ui/src/library_ui.rs:5124, ui/dr-ui/src/library_ui.rs:5177, ui/dr-ui/src/library_ui.rs:6395, ui/dr-ui/ui/app.slint:464, ui/dr-ui/ui/app.slint:590, ui/dr-ui/ui/app.slint:829, ui/dr-ui/ui/library.slint:109, ui/dr-ui/ui/library.slint:1278, ui/dr-ui/ui/library.slint:901, ui/dr-ui/ui/settings.slint:115
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:1693, ui/dr-ui/src/collections_ui.rs:1, ui/dr-ui/src/derived_sync.rs:1, ui/dr-ui/src/library_ui.rs:3466, ui/dr-ui/src/library_ui.rs:4164, ui/dr-ui/ui/app.slint:585, ui/dr-ui/ui/collections.slint:4, ui/dr-ui/ui/library.slint:2516, ui/dr-ui/ui/library.slint:872, ui/dr-ui/ui/library.slint:891
FR-CAT-8 core/dr-pipeline/src/ops/curve.rs:136, core/dr-pipeline/src/ops/curve.rs:652, core/dr-pipeline/src/sidecar.rs:1536, core/dr-pipeline/src/sidecar.rs:91, core/dr-pipeline/tests/tone_curve.rs:33, ui/dr-ui/src/develop.rs:3002, ui/dr-ui/src/develop.rs:3030, ui/dr-ui/src/export.rs:752, ui/dr-ui/src/lib.rs:1245, ui/dr-ui/src/lib.rs:1597, ui/dr-ui/src/lib.rs:1702, ui/dr-ui/src/lib.rs:470, ui/dr-ui/src/lib.rs:855, ui/dr-ui/src/library.rs:1545, ui/dr-ui/src/library.rs:364, ui/dr-ui/src/library.rs:411, ui/dr-ui/src/library.rs:448, ui/dr-ui/src/library.rs:696, ui/dr-ui/src/library_ui.rs:4866, 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:394, 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:119, ui/dr-ui/src/develop.rs:2565, ui/dr-ui/src/library.rs:138, ui/dr-ui/src/library.rs:1505, ui/dr-ui/src/library.rs:1582, ui/dr-ui/src/library.rs:220, ui/dr-ui/src/library.rs:3408, ui/dr-ui/src/library.rs:448, ui/dr-ui/src/library.rs:680, ui/dr-ui/src/library.rs:696, ui/dr-ui/src/library.rs:750, ui/dr-ui/src/library_ui.rs:1564, ui/dr-ui/src/library_ui.rs:1590, ui/dr-ui/src/library_ui.rs:1606, ui/dr-ui/src/library_ui.rs:1700, ui/dr-ui/src/library_ui.rs:226, ui/dr-ui/src/library_ui.rs:2316, ui/dr-ui/src/library_ui.rs:259, ui/dr-ui/src/library_ui.rs:2754, ui/dr-ui/src/library_ui.rs:2976, ui/dr-ui/src/library_ui.rs:3257, ui/dr-ui/src/library_ui.rs:3329, ui/dr-ui/src/library_ui.rs:3517, ui/dr-ui/src/library_ui.rs:3635, ui/dr-ui/src/library_ui.rs:440, ui/dr-ui/src/library_ui.rs:498, ui/dr-ui/src/library_ui.rs:5222, ui/dr-ui/src/library_ui.rs:5337, ui/dr-ui/src/presets.rs:326, ui/dr-ui/src/presets.rs:338, 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, ui/dr-ui/src/import.rs:464
FR-CULL-4 core/dr-catalog/src/rating.rs:1, core/dr-pipeline/src/sidecar.rs:138, ui/dr-ui/src/library.rs:203, ui/dr-ui/src/library.rs:364
FR-DEV-2 core/dr-pipeline/src/operation.rs:352
FR-DEV-3 core/dr-gpu/src/adjust.rs:2165, core/dr-gpu/src/adjust.rs:651, core/dr-gpu/src/adjust.rs:770, core/dr-gpu/src/adjust.rs:84, core/dr-gpu/tests/tone_curve.rs:1, core/dr-pipeline/src/detail.rs:387, core/dr-pipeline/src/detail.rs:465, core/dr-pipeline/src/framing.rs:188, core/dr-pipeline/src/framing.rs:602, core/dr-pipeline/src/graph.rs:165, core/dr-pipeline/src/graph.rs:479, core/dr-pipeline/src/mask.rs:120, core/dr-pipeline/src/operation.rs:299, core/dr-pipeline/src/operation.rs:479, core/dr-pipeline/src/ops/capture_sharpen.rs:1, core/dr-pipeline/src/ops/capture_sharpen.rs:207, core/dr-pipeline/src/ops/curve.rs:1, core/dr-pipeline/src/ops/curve.rs:218, core/dr-pipeline/src/ops/curve.rs:631, core/dr-pipeline/src/ops/curve.rs:99, core/dr-pipeline/src/ops/local_contrast.rs:1, core/dr-pipeline/src/ops/noise_reduction.rs:1, core/dr-pipeline/src/ops/noise_reduction.rs:270, core/dr-pipeline/src/sidecar.rs:1536, core/dr-pipeline/src/sidecar.rs:1592, core/dr-pipeline/src/sidecar.rs:159, core/dr-pipeline/tests/tone_curve.rs:1, ui/dr-ui/src/develop.rs:101, ui/dr-ui/src/develop.rs:1121, ui/dr-ui/src/develop.rs:132, ui/dr-ui/src/develop.rs:1595, ui/dr-ui/src/develop.rs:1610, ui/dr-ui/src/develop.rs:1632, ui/dr-ui/src/develop.rs:1764, ui/dr-ui/src/develop.rs:1842, ui/dr-ui/src/develop.rs:238, ui/dr-ui/src/develop.rs:270, ui/dr-ui/src/develop.rs:3002, ui/dr-ui/src/develop.rs:3434, ui/dr-ui/src/develop.rs:3488, ui/dr-ui/src/develop.rs:3532, ui/dr-ui/src/develop.rs:3582, ui/dr-ui/src/develop.rs:506, ui/dr-ui/src/develop.rs:553, ui/dr-ui/src/lib.rs:1281, ui/dr-ui/src/lib.rs:1952, ui/dr-ui/src/lib.rs:291, ui/dr-ui/src/library.rs:411, ui/dr-ui/src/masks_ui.rs:218, ui/dr-ui/src/masks_ui.rs:41, ui/dr-ui/src/masks_ui.rs:816, ui/dr-ui/src/masks_ui.rs:930, ui/dr-ui/src/segmentation.rs:218, ui/dr-ui/ui/app.slint:1987, ui/dr-ui/ui/app.slint:916
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:19, core/dr-pipeline/src/graph.rs:239, core/dr-pipeline/src/graph.rs:41, core/dr-pipeline/src/graph.rs:54, core/dr-pipeline/src/mask.rs:954, core/dr-pipeline/src/operation.rs:328, core/dr-pipeline/src/ops/curve.rs:318, ui/dr-ui/src/develop.rs:1018, ui/dr-ui/src/lib.rs:585
FR-DEV-3b core/dr-pipeline/src/descriptor.rs:177, core/dr-pipeline/src/framing.rs:259, core/dr-pipeline/src/graph.rs:54, core/dr-pipeline/src/operation.rs:328
FR-DEV-3c core/dr-pipeline/build.rs:1807, core/dr-pipeline/ops/exposure.yaml:1, core/dr-pipeline/src/graph.rs:239, core/dr-pipeline/src/graph.rs:41, core/dr-pipeline/src/mask.rs:954, ui/dr-ui/src/develop.rs:4161
FR-DEV-3d core/dr-gpu/src/adjust.rs:1041, core/dr-gpu/src/adjust.rs:104, core/dr-gpu/src/adjust.rs:770, core/dr-gpu/src/adjust.rs:84, core/dr-gpu/src/adjust.rs:986, core/dr-gpu/tests/capture_sharpen.rs:434, core/dr-gpu/tests/detail_stage.rs:242, core/dr-gpu/tests/local_contrast.rs:476, core/dr-gpu/tests/noise_reduction.rs:556, core/dr-pipeline/src/framing.rs:188, core/dr-pipeline/src/graph.rs:518, core/dr-pipeline/src/operation.rs:31, core/dr-pipeline/src/operation.rs:352, core/dr-pipeline/src/operation.rs:52, core/dr-pipeline/src/operation.rs:70
FR-DEV-3e core/dr-decode/src/base_curve.rs:145, core/dr-decode/src/base_curve.rs:158, core/dr-decode/src/base_curve.rs:1, core/dr-decode/src/base_curve.rs:267, core/dr-decode/src/base_curve.rs:347, core/dr-decode/src/base_curve.rs:55, core/dr-decode/src/lib.rs:121, core/dr-decode/src/lib.rs:708, core/dr-decode/src/lib.rs:748, core/dr-decode/src/profile.rs:102, core/dr-decode/src/profile.rs:151, core/dr-decode/src/profile.rs:1, core/dr-decode/src/profile.rs:235, core/dr-decode/src/profile.rs:286, core/dr-decode/src/profile.rs:343, core/dr-decode/src/profile.rs:458, core/dr-decode/src/profile.rs:492, core/dr-decode/src/profile.rs:630, core/dr-gpu/src/adjust.rs:37, core/dr-gpu/src/adjust.rs:967, core/dr-gpu/src/demosaic.rs:121, core/dr-gpu/src/demosaic.rs:86, core/dr-gpu/tests/base_curve.rs:1, core/dr-pipeline/src/operation.rs:1424, core/dr-pipeline/src/operation.rs:1505, core/dr-pipeline/src/operation.rs:1530, core/dr-pipeline/src/operation.rs:1545, core/dr-pipeline/src/operation.rs:1569, core/dr-pipeline/src/operation.rs:279, core/dr-pipeline/src/operation.rs:403, core/dr-pipeline/src/operation.rs:413, core/dr-pipeline/src/operation.rs:563
FR-DEV-3f core/dr-film/src/bake.rs:271, core/dr-film/src/bake.rs:62, core/dr-film/src/grain.rs:1, core/dr-film/src/grain.rs:88, core/dr-film/src/lib.rs:158, core/dr-film/src/lib.rs:1, core/dr-film/src/profile.rs:100, core/dr-film/src/profile.rs:142, core/dr-film/src/profile.rs:182, core/dr-film/src/profile.rs:259, core/dr-film/src/profile.rs:502, core/dr-film/src/profile.rs:73, core/dr-gpu/src/adjust.rs:139, core/dr-gpu/src/adjust.rs:196, core/dr-gpu/src/adjust.rs:357, core/dr-gpu/src/adjust.rs:483, core/dr-gpu/src/adjust.rs:77, core/dr-gpu/tests/film_sim.rs:191, core/dr-gpu/tests/film_sim.rs:1, core/dr-pipeline/src/graph.rs:120, core/dr-pipeline/src/graph.rs:313, core/dr-pipeline/src/graph.rs:97, core/dr-pipeline/src/operation.rs:1028, core/dr-pipeline/src/operation.rs:1057, core/dr-pipeline/src/operation.rs:1424, core/dr-pipeline/src/operation.rs:265, core/dr-pipeline/src/operation.rs:279, core/dr-pipeline/src/ops/film_sim.rs:102, core/dr-pipeline/src/ops/film_sim.rs:126, core/dr-pipeline/src/ops/film_sim.rs:1, core/dr-pipeline/src/ops/film_sim.rs:300, core/dr-pipeline/src/ops/film_sim.rs:68, core/dr-pipeline/src/sidecar.rs:110, core/dr-pipeline/src/sidecar.rs:170, core/dr-pipeline/src/sidecar.rs:1840, core/dr-pipeline/src/sidecar.rs:1916, core/dr-pipeline/src/sidecar.rs:511, core/dr-pipeline/src/sidecar.rs:652, core/dr-pipeline/src/sidecar.rs:784, ui/dr-ui/src/develop.rs:2580, ui/dr-ui/src/develop.rs:2597, ui/dr-ui/src/develop.rs:2628, ui/dr-ui/src/develop.rs:2725, ui/dr-ui/src/develop.rs:3039, ui/dr-ui/src/lib.rs:1926, ui/dr-ui/src/lib.rs:518, ui/dr-ui/src/lib.rs:576, ui/dr-ui/src/library.rs:402, ui/dr-ui/src/library.rs:651, ui/dr-ui/src/presets.rs:275, ui/dr-ui/ui/adjust.slint:889, ui/dr-ui/ui/adjust.slint:959, ui/dr-ui/ui/app.slint:2599, ui/dr-ui/ui/app.slint:710
FR-DEV-3h core/dr-decode/src/lib.rs:404, core/dr-decode/src/preview.rs:29, core/dr-pipeline/src/framing.rs:202, core/dr-types/src/lib.rs:336
FR-DEV-4 core/dr-gpu/src/adjust.rs:770, core/dr-gpu/src/lib.rs:217
FR-DEV-5 core/dr-pipeline/src/history.rs:124, core/dr-pipeline/src/history.rs:140, 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:3057, ui/dr-ui/src/develop.rs:3067, ui/dr-ui/src/develop.rs:488, ui/dr-ui/src/lib.rs:1273
FR-DEV-6 core/dr-pipeline/src/preset.rs:1, core/dr-types/src/settings.rs:182, ui/dr-ui/src/develop.rs:2996, ui/dr-ui/src/develop.rs:3017, ui/dr-ui/src/lib.rs:1245, ui/dr-ui/src/library.rs:1545, ui/dr-ui/src/library.rs:364, ui/dr-ui/src/library.rs:392, ui/dr-ui/src/library_ui.rs:2576, ui/dr-ui/src/library_ui.rs:2976, ui/dr-ui/src/library_ui.rs:466, ui/dr-ui/src/presets.rs:1, ui/dr-ui/src/settings_ui.rs:535, ui/dr-ui/ui/adjust.slint:598, ui/dr-ui/ui/library.slint:1305, ui/dr-ui/ui/library.slint:831, ui/dr-ui/ui/library.slint:912, ui/dr-ui/ui/settings.slint:87
FR-DEV-8 core/dr-gpu/src/detail.rs:252, core/dr-gpu/src/detail.rs:434, core/dr-gpu/tests/detail_instances.rs:1, core/dr-gpu/tests/spot_removal.rs:1, core/dr-pipeline/src/detail.rs:363, core/dr-pipeline/src/detail.rs:387, core/dr-pipeline/src/detail.rs:422, core/dr-pipeline/src/detail.rs:496, core/dr-pipeline/src/graph.rs:109, core/dr-pipeline/src/graph.rs:187, core/dr-pipeline/src/graph.rs:587, core/dr-pipeline/src/history.rs:140, core/dr-pipeline/src/operation.rs:299, core/dr-pipeline/src/operation.rs:517, core/dr-pipeline/src/sidecar.rs:186, core/dr-pipeline/src/sidecar.rs:330, core/dr-pipeline/src/sidecar.rs:664, core/dr-pipeline/src/sidecar.rs:800, core/dr-pipeline/src/sidecar.rs:854, core/dr-pipeline/src/sidecar.rs:884, core/dr-pipeline/src/spot.rs:115, core/dr-pipeline/src/spot.rs:151, core/dr-pipeline/src/spot.rs:1, core/dr-pipeline/src/spot.rs:207, core/dr-pipeline/src/spot.rs:387, core/dr-pipeline/src/spot.rs:472, core/dr-pipeline/src/spot.rs:582, core/dr-pipeline/src/spot.rs:673, core/dr-pipeline/tests/spot_sidecar.rs:1, core/dr-pipeline/tests/spots.rs:1, ui/dr-ui/src/develop.rs:1912, ui/dr-ui/src/develop.rs:1949, ui/dr-ui/src/develop.rs:2014, ui/dr-ui/src/develop.rs:2096, ui/dr-ui/src/develop.rs:2109, ui/dr-ui/src/develop.rs:536, ui/dr-ui/src/lib.rs:1288, ui/dr-ui/src/lib.rs:2188, ui/dr-ui/src/lib.rs:296, ui/dr-ui/src/spots_ui.rs:19, ui/dr-ui/src/spots_ui.rs:1, ui/dr-ui/src/spots_ui.rs:265, ui/dr-ui/ui/adjust.slint:676, ui/dr-ui/ui/app.slint:1722, ui/dr-ui/ui/app.slint:2239, ui/dr-ui/ui/app.slint:2505, ui/dr-ui/ui/app.slint:317, ui/dr-ui/ui/spots.slint:48, ui/dr-ui/ui/spots.slint:5
FR-DSP-1 core/dr-gpu/src/adjust.rs:2088, core/dr-gpu/src/adjust.rs:2165, core/dr-gpu/src/adjust.rs:2250, core/dr-gpu/src/adjust.rs:54, core/dr-gpu/src/adjust.rs:770, core/dr-gpu/src/lib.rs:54, core/dr-gpu/src/lib.rs:94, core/dr-gpu/tests/capture_sharpen.rs:200, core/dr-gpu/tests/detail_stage.rs:328, core/dr-gpu/tests/local_contrast.rs:263, core/dr-gpu/tests/noise_reduction.rs:378, core/dr-pipeline/src/detail.rs:136, core/dr-pipeline/src/detail.rs:465, core/dr-pipeline/src/graph.rs:449, core/dr-pipeline/src/graph.rs:479, core/dr-pipeline/src/ops/capture_sharpen.rs:1, core/dr-pipeline/src/ops/capture_sharpen.rs:654, core/dr-pipeline/src/ops/local_contrast.rs:1, core/dr-pipeline/src/ops/local_contrast.rs:662, core/dr-pipeline/src/ops/noise_reduction.rs:695, core/dr-pipeline/src/spot.rs:673, ui/dr-ui/src/develop.rs:2401, ui/dr-ui/src/develop.rs:3223, ui/dr-ui/src/develop.rs:3706, ui/dr-ui/src/develop.rs:3740, ui/dr-ui/src/lib.rs:60, ui/dr-ui/src/lib.rs:726
FR-DSP-6 core/dr-pipeline/src/operation.rs:446, 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:2446, ui/dr-ui/src/develop.rs:4808, ui/dr-ui/src/develop.rs:4840, ui/dr-ui/src/develop.rs:499, ui/dr-ui/src/histogram.rs:1, ui/dr-ui/src/lib.rs:1344, ui/dr-ui/src/lib.rs:286, ui/dr-ui/ui/app.slint:277, 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:153, core/dr-export/src/lib.rs:1, core/dr-export/src/lib.rs:53, core/dr-gpu/src/adjust.rs:2398, core/dr-pipeline/src/graph.rs:439, core/dr-pipeline/src/graph.rs:493, core/dr-pipeline/src/operation.rs:446, core/dr-types/src/colour.rs:1, core/dr-types/src/settings.rs:1, core/dr-types/src/settings.rs:595, 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:334, ui/dr-ui/src/settings_ui.rs:1, ui/dr-ui/src/settings_ui.rs:48, ui/dr-ui/src/settings_ui.rs:590
FR-EXP-7 ui/dr-ui/src/activity.rs:83, ui/dr-ui/src/export.rs:1, ui/dr-ui/src/export.rs:944, ui/dr-ui/src/lib.rs:176, ui/dr-ui/src/lib.rs:1868, ui/dr-ui/src/lib.rs:334, ui/dr-ui/src/lib.rs:369, ui/dr-ui/src/lib.rs:396, ui/dr-ui/src/library_ui.rs:3346, ui/dr-ui/src/library_ui.rs:557, ui/dr-ui/src/library_ui.rs:6237, ui/dr-ui/src/library_ui.rs:6314, ui/dr-ui/src/library_ui.rs:6326, ui/dr-ui/src/library_ui.rs:660, ui/dr-ui/src/library_ui.rs:717, ui/dr-ui/ui/app.slint:1052, ui/dr-ui/ui/app.slint:1432, ui/dr-ui/ui/library.slint:1313, ui/dr-ui/ui/library.slint:835, ui/dr-ui/ui/library.slint:927
FR-EXP-8 core/dr-decode/src/lib.rs:326, core/dr-decode/src/lib.rs:350, core/dr-decode/src/lib.rs:364, core/dr-decode/src/lib.rs:71, core/dr-decode/src/lib.rs:79, core/dr-decode/src/lib.rs:82, core/dr-decode/src/locate.rs:1164, core/dr-decode/src/locate.rs:1223, core/dr-decode/src/locate.rs:316, core/dr-decode/src/locate.rs:487, core/dr-decode/src/locate.rs:571, core/dr-decode/src/locate.rs:584, core/dr-decode/src/locate.rs:667, core/dr-export/examples/export.rs:99, core/dr-export/src/encode.rs:117, core/dr-export/src/encode.rs:161, core/dr-export/src/encode.rs:1, core/dr-export/src/encode.rs:206, core/dr-export/src/encode.rs:235, core/dr-export/src/encode.rs:311, core/dr-export/src/encode.rs:325, core/dr-export/src/encode.rs:408, core/dr-export/src/encode.rs:456, core/dr-export/src/encode.rs:70, core/dr-export/src/encode.rs:795, core/dr-export/src/encode.rs:809, core/dr-export/src/encode.rs:850, core/dr-export/src/encode.rs:898, core/dr-export/src/exif.rs:1, core/dr-export/src/lib.rs:136, core/dr-export/src/metadata.rs:1, core/dr-export/src/metadata.rs:41, core/dr-export/src/metadata.rs:74, core/dr-types/src/lib.rs:444, core/dr-types/src/settings.rs:313, ui/dr-ui/src/export.rs:620, ui/dr-ui/src/export.rs:648, ui/dr-ui/src/export.rs:779, ui/dr-ui/src/export.rs:796, ui/dr-ui/src/settings_ui.rs:1
FR-EXP-9 core/dr-decode/src/lib.rs:506, core/dr-export/src/lib.rs:128, core/dr-export/src/lib.rs:1, core/dr-gpu/src/adjust.rs:1068, ui/dr-ui/src/develop.rs:2524, ui/dr-ui/src/lib.rs:334
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:396, ui/dr-ui/src/library.rs:1582, ui/dr-ui/src/library.rs:448, ui/dr-ui/src/library.rs:750, ui/dr-ui/src/library.rs:947, ui/dr-ui/src/library_ui.rs:1606, ui/dr-ui/src/library_ui.rs:3346, ui/dr-ui/src/library_ui.rs:498, 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.rs:2598, ui/dr-ui/src/library.rs:2624, ui/dr-ui/src/library_ui.rs:1, ui/dr-ui/src/library_ui.rs:3608, ui/dr-ui/src/library_ui.rs:4574, ui/dr-ui/ui/app.slint:516, ui/dr-ui/ui/settings.slint:340, ui/dr-ui/ui/settings.slint:72
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, ui/dr-ui/src/import.rs:489
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:394, core/dr-catalog/src/schema.rs:795, core/dr-types/src/selector.rs:1, core/dr-types/src/settings.rs:1, ui/dr-ui/src/collections_ui.rs:3195, ui/dr-ui/src/collections_ui.rs:621, ui/dr-ui/src/collections_ui.rs:683, ui/dr-ui/src/lib.rs:1628, ui/dr-ui/src/lib.rs:2444, ui/dr-ui/src/library.rs:1324, ui/dr-ui/src/library.rs:1347, ui/dr-ui/src/library.rs:1505, ui/dr-ui/src/library_ui.rs:1065, ui/dr-ui/src/library_ui.rs:1138, ui/dr-ui/src/library_ui.rs:1239, ui/dr-ui/src/library_ui.rs:1294, ui/dr-ui/src/library_ui.rs:1412, ui/dr-ui/src/library_ui.rs:1531, ui/dr-ui/src/library_ui.rs:2058, ui/dr-ui/src/library_ui.rs:267, ui/dr-ui/src/library_ui.rs:278, ui/dr-ui/src/library_ui.rs:286, ui/dr-ui/src/library_ui.rs:298, ui/dr-ui/src/library_ui.rs:307, ui/dr-ui/src/library_ui.rs:399, ui/dr-ui/src/library_ui.rs:409, ui/dr-ui/src/library_ui.rs:451, ui/dr-ui/src/library_ui.rs:514, ui/dr-ui/src/library_ui.rs:5239, ui/dr-ui/src/library_ui.rs:5257, ui/dr-ui/src/library_ui.rs:5269, ui/dr-ui/src/library_ui.rs:545, ui/dr-ui/src/library_ui.rs:557, ui/dr-ui/src/settings_store.rs:1, ui/dr-ui/src/settings_ui.rs:1, ui/dr-ui/ui/app.slint:2649, ui/dr-ui/ui/app.slint:579, 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:973
FR-NC-6b ui/dr-ui/src/library_ui.rs:1294
FR-NC-6c core/dr-sync-nextcloud/src/desktop_client.rs:30, core/dr-types/src/lib.rs:119, core/dr-types/src/lib.rs:201, ui/dr-ui/src/activity.rs:1, ui/dr-ui/src/collections_ui.rs:3195, ui/dr-ui/src/collections_ui.rs:621, ui/dr-ui/src/collections_ui.rs:683, ui/dr-ui/src/library_ui.rs:1065, ui/dr-ui/src/library_ui.rs:1138, 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, ui/dr-ui/src/library.rs:2624, ui/dr-ui/src/library_ui.rs:3608, ui/dr-ui/ui/settings.slint:340
FR-NC-7a core/dr-ingest/src/layout.rs:1, core/dr-sync/src/upload.rs:1, core/dr-sync/src/upload.rs:40, core/dr-types/src/settings.rs:116, ui/dr-ui/src/import.rs:1, ui/dr-ui/src/import.rs:97, ui/dr-ui/src/import_ui.rs:1, ui/dr-ui/src/lib.rs:1008, ui/dr-ui/ui/import.slint:5
FR-NC-7b core/dr-ingest/src/lib.rs:733, core/dr-sync/src/upload.rs:1, ui/dr-ui/src/import.rs:123, ui/dr-ui/src/import.rs:337, ui/dr-ui/src/import.rs:585, ui/dr-ui/src/import.rs:97, ui/dr-ui/src/import_ui.rs:1, ui/dr-ui/src/lib.rs:1008
FR-NC-8 core/dr-pipeline/src/sidecar.rs:121, core/dr-pipeline/src/sidecar.rs:91, ui/dr-ui/src/lib.rs:1597, ui/dr-ui/src/library.rs:364, ui/dr-ui/src/library_ui.rs:466
FR-NC-9 core/dr-catalog/src/merge.rs:1, core/dr-catalog/src/schema.rs:337, core/dr-catalog/src/sync.rs:1, core/dr-pipeline/src/sidecar.rs:159, core/dr-pipeline/src/sidecar.rs:186, core/dr-pipeline/src/sidecar.rs:1916, core/dr-pipeline/src/sidecar.rs:330, core/dr-pipeline/src/sidecar.rs:428, core/dr-pipeline/src/spot.rs:245, core/dr-pipeline/tests/spot_sidecar.rs:1, ui/dr-ui/src/library.rs:750, ui/dr-ui/src/library.rs:880
FR-PLAT-AND-1 core/dr-types/src/lib.rs:53
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/lib.rs:795, ui/dr-ui/src/settings_store.rs:1
FR-RAW-1 core/dr-decode/src/lib.rs:243, core/dr-types/src/lib.rs:129, core/dr-types/src/lib.rs:200
FR-RAW-3 core/dr-decode/src/lib.rs:139, core/dr-decode/src/lib.rs:506, core/dr-decode/src/locate.rs:1366
FR-RAW-4 core/dr-decode/src/error.rs:1, ui/dr-ui/src/lib.rs:176
FR-RAW-5 core/dr-decode/src/lib.rs:167, core/dr-gpu/src/demosaic.rs:34, core/dr-gpu/src/demosaic.rs:602, core/dr-gpu/src/demosaic.rs:681, core/dr-gpu/src/demosaic.rs:805
FR-UI-1 ui/dr-ui/src/lib.rs:2526, ui/dr-ui/src/lib.rs:68, ui/dr-ui/src/masks_ui.rs:816, ui/dr-ui/ui/library.slint:1031
FR-UI-2 ui/dr-ui/src/collections_ui.rs:1005, ui/dr-ui/src/collections_ui.rs:118, ui/dr-ui/src/collections_ui.rs:1508, ui/dr-ui/src/collections_ui.rs:1522, ui/dr-ui/src/collections_ui.rs:1568, ui/dr-ui/src/collections_ui.rs:159, ui/dr-ui/src/collections_ui.rs:1666, ui/dr-ui/src/collections_ui.rs:485, ui/dr-ui/src/collections_ui.rs:514, ui/dr-ui/src/collections_ui.rs:995, ui/dr-ui/src/lib.rs:68, ui/dr-ui/src/library_ui.rs:286, ui/dr-ui/src/library_ui.rs:5124, ui/dr-ui/src/library_ui.rs:5269, ui/dr-ui/src/library_ui.rs:6345, ui/dr-ui/ui/app.slint:2345, ui/dr-ui/ui/app.slint:263, ui/dr-ui/ui/app.slint:609, ui/dr-ui/ui/app.slint:616, ui/dr-ui/ui/library.slint:1186, ui/dr-ui/ui/library.slint:1193, ui/dr-ui/ui/library.slint:1199, ui/dr-ui/ui/library.slint:2266, ui/dr-ui/ui/library.slint:823, ui/dr-ui/ui/library.slint:872, ui/dr-ui/ui/settings.slint:93
FR-UI-3 ui/dr-ui/src/develop.rs:1842, ui/dr-ui/src/develop.rs:1949, ui/dr-ui/src/library_ui.rs:4369, ui/dr-ui/src/masks_ui.rs:218, ui/dr-ui/src/masks_ui.rs:908, ui/dr-ui/src/masks_ui.rs:930, ui/dr-ui/src/spots_ui.rs:19, ui/dr-ui/ui/app.slint:1987, ui/dr-ui/ui/collections.slint:4, ui/dr-ui/ui/collections.slint:682
FR-UI-4 ui/dr-ui/src/collections_ui.rs:1005, ui/dr-ui/src/collections_ui.rs:118, ui/dr-ui/src/collections_ui.rs:131, ui/dr-ui/src/collections_ui.rs:1508, ui/dr-ui/src/collections_ui.rs:1522, ui/dr-ui/src/collections_ui.rs:1568, ui/dr-ui/src/collections_ui.rs:159, ui/dr-ui/src/collections_ui.rs:1666, ui/dr-ui/src/collections_ui.rs:1693, ui/dr-ui/src/collections_ui.rs:485, ui/dr-ui/src/collections_ui.rs:514, ui/dr-ui/src/collections_ui.rs:582, ui/dr-ui/src/collections_ui.rs:995, ui/dr-ui/src/library_ui.rs:4369, ui/dr-ui/src/library_ui.rs:4414, ui/dr-ui/src/library_ui.rs:4517, ui/dr-ui/src/library_ui.rs:4545, ui/dr-ui/src/library_ui.rs:5257, ui/dr-ui/src/library_ui.rs:5269, ui/dr-ui/ui/app.slint:1659, ui/dr-ui/ui/app.slint:585, ui/dr-ui/ui/app.slint:616, ui/dr-ui/ui/library.slint:1186, ui/dr-ui/ui/library.slint:1193, ui/dr-ui/ui/library.slint:1199, ui/dr-ui/ui/library.slint:2266, ui/dr-ui/ui/library.slint:823, ui/dr-ui/ui/library.slint:872, ui/dr-ui/ui/library.slint:891
FR-UI-5 ui/dr-ui/src/collections_ui.rs:1, ui/dr-ui/src/lib.rs:2153, ui/dr-ui/src/lib.rs:2560, ui/dr-ui/src/lib.rs:2745, ui/dr-ui/src/masks_ui.rs:863, ui/dr-ui/ui/app.slint:298, 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:1555, ui/dr-ui/src/export.rs:1581, ui/dr-ui/src/export.rs:410, ui/dr-ui/src/export.rs:436, ui/dr-ui/src/lib.rs:1902, ui/dr-ui/ui/app.slint:1063, ui/dr-ui/ui/library.slint:927
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-P5 core/dr-catalog/src/schema.rs:292, ui/dr-ui/src/library.rs:3141, ui/dr-ui/src/library.rs:3914, ui/dr-ui/src/library_ui.rs:4054, ui/dr-ui/src/library_ui.rs:64
NFR-P9 ui/dr-ui/src/collections_ui.rs:1, ui/dr-ui/src/export.rs:944, 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:269, core/dr-types/src/lib.rs:302
NFR-R1 core/dr-catalog/src/sync.rs:1, ui/dr-ui/src/library.rs:947
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/keywords.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:60
NFR-RES-4 core/dr-catalog/src/cache.rs:1, core/dr-catalog/src/schema.rs:394, core/dr-thumbs/src/codec.rs:1, core/dr-thumbs/src/lib.rs:1, core/dr-thumbs/src/lib.rs:376, ui/dr-ui/src/library.rs:2598
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:217

Not yet tagged

86 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-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-3g
  • FR-DEV-7
  • 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-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