From 825015a58e30f18513681465f062ffa169ffd68c Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Sat, 26 Sep 2026 07:00:46 -0400 Subject: [PATCH] Put a scrollbar on the develop column The column (histogram, compose, every adjustment group, history) runs several screens past the window. A mouse without a wheel could only drag the column's contents, and a drag that starts on a slider moves the slider. The Flickable now sits in a plain Rectangle with a ScrollBar beside it, bound to its viewport. Nothing about how the column sizes itself changes: the Flickable fills the Rectangle, and the Rectangle takes the stretch the Flickable had in the layout under the group strip. The bar is drawn over the column's right-hand 10px, so the mandated panel width is not reduced. When the pointer is on the bar, the lit track covers the value labels of the compose rows, which already sit flush against the column's edge. --- docs/dev/traceability.md | 18 +- ui/dr-ui/ui/app.slint | 349 ++++++++++++++++++++------------------- 2 files changed, 192 insertions(+), 175 deletions(-) diff --git a/docs/dev/traceability.md b/docs/dev/traceability.md index f75d1ba..f10a183 100644 --- a/docs/dev/traceability.md +++ b/docs/dev/traceability.md @@ -47,7 +47,7 @@ _None._ | FR-CAT-4 | [`core/dr-catalog/src/lib.rs:1`](../../core/dr-catalog/src/lib.rs#L1), [`core/dr-catalog/src/query.rs:1`](../../core/dr-catalog/src/query.rs#L1), [`core/dr-catalog/src/schema.rs:591`](../../core/dr-catalog/src/schema.rs#L591), [`ui/dr-ui/src/library/filters.rs:39`](../../ui/dr-ui/src/library/filters.rs#L39), [`ui/dr-ui/src/library/mod.rs:1`](../../ui/dr-ui/src/library/mod.rs#L1), [`ui/dr-ui/src/library_ui/mod.rs:1`](../../ui/dr-ui/src/library_ui/mod.rs#L1), [`ui/dr-ui/ui/library.slint:488`](../../ui/dr-ui/ui/library.slint#L488) | | FR-CAT-5 | [`core/dr-catalog/src/keywords.rs:1`](../../core/dr-catalog/src/keywords.rs#L1), [`core/dr-catalog/src/merge.rs:1`](../../core/dr-catalog/src/merge.rs#L1), [`core/dr-catalog/src/rating.rs:1`](../../core/dr-catalog/src/rating.rs#L1), [`core/dr-catalog/src/rating.rs:396`](../../core/dr-catalog/src/rating.rs#L396), [`core/dr-catalog/src/rating.rs:411`](../../core/dr-catalog/src/rating.rs#L411), [`core/dr-catalog/src/rating.rs:422`](../../core/dr-catalog/src/rating.rs#L422), [`core/dr-catalog/src/rating.rs:449`](../../core/dr-catalog/src/rating.rs#L449), [`core/dr-catalog/src/rating.rs:52`](../../core/dr-catalog/src/rating.rs#L52), [`core/dr-catalog/src/rating.rs:782`](../../core/dr-catalog/src/rating.rs#L782), [`core/dr-catalog/src/rating.rs:806`](../../core/dr-catalog/src/rating.rs#L806), [`core/dr-catalog/src/rating.rs:825`](../../core/dr-catalog/src/rating.rs#L825), [`core/dr-catalog/src/schema.rs:1152`](../../core/dr-catalog/src/schema.rs#L1152), [`core/dr-catalog/src/schema.rs:1739`](../../core/dr-catalog/src/schema.rs#L1739), [`core/dr-decode/src/lib.rs:307`](../../core/dr-decode/src/lib.rs#L307), [`core/dr-decode/src/lib.rs:313`](../../core/dr-decode/src/lib.rs#L313), [`core/dr-decode/src/lib.rs:323`](../../core/dr-decode/src/lib.rs#L323), [`core/dr-decode/src/lib.rs:450`](../../core/dr-decode/src/lib.rs#L450), [`core/dr-export/src/dng.rs:308`](../../core/dr-export/src/dng.rs#L308), [`core/dr-pipeline/src/sidecar.rs:1093`](../../core/dr-pipeline/src/sidecar.rs#L1093), [`core/dr-pipeline/src/sidecar.rs:174`](../../core/dr-pipeline/src/sidecar.rs#L174), [`core/dr-pipeline/src/sidecar.rs:193`](../../core/dr-pipeline/src/sidecar.rs#L193), [`core/dr-pipeline/src/sidecar.rs:2874`](../../core/dr-pipeline/src/sidecar.rs#L2874), [`core/dr-pipeline/src/sidecar.rs:2892`](../../core/dr-pipeline/src/sidecar.rs#L2892), [`core/dr-pipeline/src/sidecar.rs:590`](../../core/dr-pipeline/src/sidecar.rs#L590), [`ui/dr-ui/src/collections_ui/controller.rs:16`](../../ui/dr-ui/src/collections_ui/controller.rs#L16), [`ui/dr-ui/src/collections_ui/controller.rs:204`](../../ui/dr-ui/src/collections_ui/controller.rs#L204), [`ui/dr-ui/src/collections_ui/controller.rs:413`](../../ui/dr-ui/src/collections_ui/controller.rs#L413), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:150`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L150), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:264`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L264), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:323`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L323), [`ui/dr-ui/src/decoder_seam.rs:184`](../../ui/dr-ui/src/decoder_seam.rs#L184), [`ui/dr-ui/src/library/cells.rs:206`](../../ui/dr-ui/src/library/cells.rs#L206), [`ui/dr-ui/src/library/scan.rs:526`](../../ui/dr-ui/src/library/scan.rs#L526), [`ui/dr-ui/src/library/scan.rs:933`](../../ui/dr-ui/src/library/scan.rs#L933), [`ui/dr-ui/src/library_ui/controller.rs:802`](../../ui/dr-ui/src/library_ui/controller.rs#L802), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1144`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1144), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1168`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1168), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1185`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1185), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:118`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L118), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1391`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1391), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1402`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1402), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1415`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1415), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1430`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1430), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1439`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1439), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:97`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L97), [`ui/dr-ui/tests/status_is_not_colour_alone.rs:177`](../../ui/dr-ui/tests/status_is_not_colour_alone.rs#L177), [`ui/dr-ui/tests/status_is_not_colour_alone.rs:215`](../../ui/dr-ui/tests/status_is_not_colour_alone.rs#L215), [`ui/dr-ui/ui/app.slint:1627`](../../ui/dr-ui/ui/app.slint#L1627), [`ui/dr-ui/ui/app.slint:2756`](../../ui/dr-ui/ui/app.slint#L2756), [`ui/dr-ui/ui/develop.slint:142`](../../ui/dr-ui/ui/develop.slint#L142), [`ui/dr-ui/ui/develop.slint:48`](../../ui/dr-ui/ui/develop.slint#L48), [`ui/dr-ui/ui/labels.slint:19`](../../ui/dr-ui/ui/labels.slint#L19), [`ui/dr-ui/ui/labels.slint:1`](../../ui/dr-ui/ui/labels.slint#L1), [`ui/dr-ui/ui/labels.slint:40`](../../ui/dr-ui/ui/labels.slint#L40), [`ui/dr-ui/ui/labels.slint:74`](../../ui/dr-ui/ui/labels.slint#L74), [`ui/dr-ui/ui/library.slint:1609`](../../ui/dr-ui/ui/library.slint#L1609), [`ui/dr-ui/ui/library.slint:1612`](../../ui/dr-ui/ui/library.slint#L1612), [`ui/dr-ui/ui/library.slint:1763`](../../ui/dr-ui/ui/library.slint#L1763), [`ui/dr-ui/ui/library.slint:1787`](../../ui/dr-ui/ui/library.slint#L1787), [`ui/dr-ui/ui/library.slint:1844`](../../ui/dr-ui/ui/library.slint#L1844), [`ui/dr-ui/ui/library.slint:21`](../../ui/dr-ui/ui/library.slint#L21), [`ui/dr-ui/ui/library.slint:3196`](../../ui/dr-ui/ui/library.slint#L3196), [`ui/dr-ui/ui/library.slint:3203`](../../ui/dr-ui/ui/library.slint#L3203), [`ui/dr-ui/ui/library.slint:3223`](../../ui/dr-ui/ui/library.slint#L3223), [`ui/dr-ui/ui/library.slint:3312`](../../ui/dr-ui/ui/library.slint#L3312), [`ui/dr-ui/ui/library.slint:3924`](../../ui/dr-ui/ui/library.slint#L3924), [`ui/dr-ui/ui/library.slint:467`](../../ui/dr-ui/ui/library.slint#L467), [`ui/dr-ui/ui/library.slint:488`](../../ui/dr-ui/ui/library.slint#L488), [`ui/dr-ui/ui/library.slint:5036`](../../ui/dr-ui/ui/library.slint#L5036), [`ui/dr-ui/ui/library.slint:5052`](../../ui/dr-ui/ui/library.slint#L5052), [`ui/dr-ui/ui/library.slint:510`](../../ui/dr-ui/ui/library.slint#L510), [`ui/dr-ui/ui/library.slint:616`](../../ui/dr-ui/ui/library.slint#L616), [`ui/dr-ui/ui/library.slint:660`](../../ui/dr-ui/ui/library.slint#L660), [`ui/dr-ui/ui/library.slint:666`](../../ui/dr-ui/ui/library.slint#L666), [`ui/dr-ui/ui/library.slint:670`](../../ui/dr-ui/ui/library.slint#L670) | | FR-CAT-6 | [`core/dr-catalog/src/collections.rs:1`](../../core/dr-catalog/src/collections.rs#L1), [`core/dr-catalog/src/keywords.rs:1`](../../core/dr-catalog/src/keywords.rs#L1), [`core/dr-catalog/src/lib.rs:1`](../../core/dr-catalog/src/lib.rs#L1), [`core/dr-catalog/src/query.rs:1`](../../core/dr-catalog/src/query.rs#L1), [`core/dr-catalog/src/rating.rs:1`](../../core/dr-catalog/src/rating.rs#L1), [`core/dr-catalog/src/rating.rs:449`](../../core/dr-catalog/src/rating.rs#L449), [`core/dr-catalog/src/rating.rs:835`](../../core/dr-catalog/src/rating.rs#L835), [`core/dr-catalog/src/schema.rs:1152`](../../core/dr-catalog/src/schema.rs#L1152), [`core/dr-types/src/place.rs:138`](../../core/dr-types/src/place.rs#L138), [`core/dr-types/src/place.rs:1`](../../core/dr-types/src/place.rs#L1), [`core/dr-types/src/selector.rs:1`](../../core/dr-types/src/selector.rs#L1), [`core/dr-types/src/settings.rs:64`](../../core/dr-types/src/settings.rs#L64), [`core/dr-types/src/time.rs:67`](../../core/dr-types/src/time.rs#L67), [`core/dr-types/src/time.rs:90`](../../core/dr-types/src/time.rs#L90), [`ui/dr-ui/src/library/filters.rs:156`](../../ui/dr-ui/src/library/filters.rs#L156), [`ui/dr-ui/src/library/filters.rs:357`](../../ui/dr-ui/src/library/filters.rs#L357), [`ui/dr-ui/src/library/filters.rs:442`](../../ui/dr-ui/src/library/filters.rs#L442), [`ui/dr-ui/src/library/filters.rs:64`](../../ui/dr-ui/src/library/filters.rs#L64), [`ui/dr-ui/src/library/spans.rs:253`](../../ui/dr-ui/src/library/spans.rs#L253), [`ui/dr-ui/src/library_ui/controller.rs:407`](../../ui/dr-ui/src/library_ui/controller.rs#L407), [`ui/dr-ui/src/library_ui/controller.rs:518`](../../ui/dr-ui/src/library_ui/controller.rs#L518), [`ui/dr-ui/src/library_ui/filter_bar.rs:256`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L256), [`ui/dr-ui/src/library_ui/filter_bar.rs:351`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L351), [`ui/dr-ui/src/library_ui/filter_bar.rs:406`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L406), [`ui/dr-ui/src/library_ui/filter_bar.rs:840`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L840), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:85`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L85), [`ui/dr-ui/ui/app.slint:621`](../../ui/dr-ui/ui/app.slint#L621), [`ui/dr-ui/ui/library.slint:113`](../../ui/dr-ui/ui/library.slint#L113), [`ui/dr-ui/ui/library.slint:1931`](../../ui/dr-ui/ui/library.slint#L1931), [`ui/dr-ui/ui/library.slint:1968`](../../ui/dr-ui/ui/library.slint#L1968), [`ui/dr-ui/ui/library.slint:2697`](../../ui/dr-ui/ui/library.slint#L2697), [`ui/dr-ui/ui/library.slint:3223`](../../ui/dr-ui/ui/library.slint#L3223), [`ui/dr-ui/ui/library.slint:488`](../../ui/dr-ui/ui/library.slint#L488), [`ui/dr-ui/ui/library.slint:5036`](../../ui/dr-ui/ui/library.slint#L5036), [`ui/dr-ui/ui/library.slint:616`](../../ui/dr-ui/ui/library.slint#L616), [`ui/dr-ui/ui/library.slint:674`](../../ui/dr-ui/ui/library.slint#L674), [`ui/dr-ui/ui/library.slint:696`](../../ui/dr-ui/ui/library.slint#L696), [`ui/dr-ui/ui/settings.slint:202`](../../ui/dr-ui/ui/settings.slint#L202), [`ui/dr-ui/ui/widgets.slint:271`](../../ui/dr-ui/ui/widgets.slint#L271) | -| FR-CAT-7 | [`core/dr-catalog/src/collections.rs:1`](../../core/dr-catalog/src/collections.rs#L1), [`core/dr-catalog/src/merge.rs:1`](../../core/dr-catalog/src/merge.rs#L1), [`core/dr-catalog/src/sync.rs:1`](../../core/dr-catalog/src/sync.rs#L1), [`core/dr-types/src/selector.rs:1`](../../core/dr-types/src/selector.rs#L1), [`ui/dr-ui/src/collections_ui/controller.rs:258`](../../ui/dr-ui/src/collections_ui/controller.rs#L258), [`ui/dr-ui/src/collections_ui/controller.rs:268`](../../ui/dr-ui/src/collections_ui/controller.rs#L268), [`ui/dr-ui/src/collections_ui/controller.rs:291`](../../ui/dr-ui/src/collections_ui/controller.rs#L291), [`ui/dr-ui/src/collections_ui/controller.rs:312`](../../ui/dr-ui/src/collections_ui/controller.rs#L312), [`ui/dr-ui/src/collections_ui/controller.rs:46`](../../ui/dr-ui/src/collections_ui/controller.rs#L46), [`ui/dr-ui/src/collections_ui/drag.rs:274`](../../ui/dr-ui/src/collections_ui/drag.rs#L274), [`ui/dr-ui/src/collections_ui/mod.rs:1`](../../ui/dr-ui/src/collections_ui/mod.rs#L1), [`ui/dr-ui/src/collections_ui/press.rs:258`](../../ui/dr-ui/src/collections_ui/press.rs#L258), [`ui/dr-ui/src/collections_ui/press.rs:490`](../../ui/dr-ui/src/collections_ui/press.rs#L490), [`ui/dr-ui/src/collections_ui/press.rs:54`](../../ui/dr-ui/src/collections_ui/press.rs#L54), [`ui/dr-ui/src/collections_ui/rename_menu.rs:196`](../../ui/dr-ui/src/collections_ui/rename_menu.rs#L196), [`ui/dr-ui/src/collections_ui/rename_menu.rs:21`](../../ui/dr-ui/src/collections_ui/rename_menu.rs#L21), [`ui/dr-ui/src/collections_ui/tree_sync.rs:246`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L246), [`ui/dr-ui/src/collections_ui/tree_sync.rs:317`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L317), [`ui/dr-ui/src/collections_ui/tree_sync.rs:339`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L339), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:121`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L121), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:171`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L171), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:444`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L444), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:522`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L522), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:586`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L586), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:287`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L287), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:344`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L344), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:394`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L394), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:517`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L517), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:581`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L581), [`ui/dr-ui/src/derived_sync.rs:1`](../../ui/dr-ui/src/derived_sync.rs#L1), [`ui/dr-ui/src/library/spans.rs:139`](../../ui/dr-ui/src/library/spans.rs#L139), [`ui/dr-ui/src/library/spans.rs:58`](../../ui/dr-ui/src/library/spans.rs#L58), [`ui/dr-ui/src/library/spans.rs:84`](../../ui/dr-ui/src/library/spans.rs#L84), [`ui/dr-ui/src/library_ui/sync.rs:235`](../../ui/dr-ui/src/library_ui/sync.rs#L235), [`ui/dr-ui/src/library_ui/timeline.rs:513`](../../ui/dr-ui/src/library_ui/timeline.rs#L513), [`ui/dr-ui/src/library_ui/window.rs:376`](../../ui/dr-ui/src/library_ui/window.rs#L376), [`ui/dr-ui/ui/app.slint:3437`](../../ui/dr-ui/ui/app.slint#L3437), [`ui/dr-ui/ui/collections.slint:1255`](../../ui/dr-ui/ui/collections.slint#L1255), [`ui/dr-ui/ui/collections.slint:4`](../../ui/dr-ui/ui/collections.slint#L4), [`ui/dr-ui/ui/collections.slint:615`](../../ui/dr-ui/ui/collections.slint#L615), [`ui/dr-ui/ui/library.slint:1362`](../../ui/dr-ui/ui/library.slint#L1362), [`ui/dr-ui/ui/library.slint:1729`](../../ui/dr-ui/ui/library.slint#L1729), [`ui/dr-ui/ui/library.slint:3675`](../../ui/dr-ui/ui/library.slint#L3675), [`ui/dr-ui/ui/library.slint:488`](../../ui/dr-ui/ui/library.slint#L488), [`ui/dr-ui/ui/library.slint:5014`](../../ui/dr-ui/ui/library.slint#L5014), [`ui/dr-ui/ui/library.slint:513`](../../ui/dr-ui/ui/library.slint#L513), [`ui/dr-ui/ui/library.slint:5156`](../../ui/dr-ui/ui/library.slint#L5156), [`ui/dr-ui/ui/library.slint:562`](../../ui/dr-ui/ui/library.slint#L562), [`ui/dr-ui/ui/library.slint:572`](../../ui/dr-ui/ui/library.slint#L572) | +| FR-CAT-7 | [`core/dr-catalog/src/collections.rs:1`](../../core/dr-catalog/src/collections.rs#L1), [`core/dr-catalog/src/merge.rs:1`](../../core/dr-catalog/src/merge.rs#L1), [`core/dr-catalog/src/sync.rs:1`](../../core/dr-catalog/src/sync.rs#L1), [`core/dr-types/src/selector.rs:1`](../../core/dr-types/src/selector.rs#L1), [`ui/dr-ui/src/collections_ui/controller.rs:258`](../../ui/dr-ui/src/collections_ui/controller.rs#L258), [`ui/dr-ui/src/collections_ui/controller.rs:268`](../../ui/dr-ui/src/collections_ui/controller.rs#L268), [`ui/dr-ui/src/collections_ui/controller.rs:291`](../../ui/dr-ui/src/collections_ui/controller.rs#L291), [`ui/dr-ui/src/collections_ui/controller.rs:312`](../../ui/dr-ui/src/collections_ui/controller.rs#L312), [`ui/dr-ui/src/collections_ui/controller.rs:46`](../../ui/dr-ui/src/collections_ui/controller.rs#L46), [`ui/dr-ui/src/collections_ui/drag.rs:274`](../../ui/dr-ui/src/collections_ui/drag.rs#L274), [`ui/dr-ui/src/collections_ui/mod.rs:1`](../../ui/dr-ui/src/collections_ui/mod.rs#L1), [`ui/dr-ui/src/collections_ui/press.rs:258`](../../ui/dr-ui/src/collections_ui/press.rs#L258), [`ui/dr-ui/src/collections_ui/press.rs:490`](../../ui/dr-ui/src/collections_ui/press.rs#L490), [`ui/dr-ui/src/collections_ui/press.rs:54`](../../ui/dr-ui/src/collections_ui/press.rs#L54), [`ui/dr-ui/src/collections_ui/rename_menu.rs:196`](../../ui/dr-ui/src/collections_ui/rename_menu.rs#L196), [`ui/dr-ui/src/collections_ui/rename_menu.rs:21`](../../ui/dr-ui/src/collections_ui/rename_menu.rs#L21), [`ui/dr-ui/src/collections_ui/tree_sync.rs:246`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L246), [`ui/dr-ui/src/collections_ui/tree_sync.rs:317`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L317), [`ui/dr-ui/src/collections_ui/tree_sync.rs:339`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L339), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:121`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L121), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:171`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L171), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:444`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L444), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:522`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L522), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:586`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L586), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:287`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L287), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:344`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L344), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:394`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L394), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:517`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L517), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:581`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L581), [`ui/dr-ui/src/derived_sync.rs:1`](../../ui/dr-ui/src/derived_sync.rs#L1), [`ui/dr-ui/src/library/spans.rs:139`](../../ui/dr-ui/src/library/spans.rs#L139), [`ui/dr-ui/src/library/spans.rs:58`](../../ui/dr-ui/src/library/spans.rs#L58), [`ui/dr-ui/src/library/spans.rs:84`](../../ui/dr-ui/src/library/spans.rs#L84), [`ui/dr-ui/src/library_ui/sync.rs:235`](../../ui/dr-ui/src/library_ui/sync.rs#L235), [`ui/dr-ui/src/library_ui/timeline.rs:513`](../../ui/dr-ui/src/library_ui/timeline.rs#L513), [`ui/dr-ui/src/library_ui/window.rs:376`](../../ui/dr-ui/src/library_ui/window.rs#L376), [`ui/dr-ui/ui/app.slint:3454`](../../ui/dr-ui/ui/app.slint#L3454), [`ui/dr-ui/ui/collections.slint:1255`](../../ui/dr-ui/ui/collections.slint#L1255), [`ui/dr-ui/ui/collections.slint:4`](../../ui/dr-ui/ui/collections.slint#L4), [`ui/dr-ui/ui/collections.slint:615`](../../ui/dr-ui/ui/collections.slint#L615), [`ui/dr-ui/ui/library.slint:1362`](../../ui/dr-ui/ui/library.slint#L1362), [`ui/dr-ui/ui/library.slint:1729`](../../ui/dr-ui/ui/library.slint#L1729), [`ui/dr-ui/ui/library.slint:3675`](../../ui/dr-ui/ui/library.slint#L3675), [`ui/dr-ui/ui/library.slint:488`](../../ui/dr-ui/ui/library.slint#L488), [`ui/dr-ui/ui/library.slint:5014`](../../ui/dr-ui/ui/library.slint#L5014), [`ui/dr-ui/ui/library.slint:513`](../../ui/dr-ui/ui/library.slint#L513), [`ui/dr-ui/ui/library.slint:5156`](../../ui/dr-ui/ui/library.slint#L5156), [`ui/dr-ui/ui/library.slint:562`](../../ui/dr-ui/ui/library.slint#L562), [`ui/dr-ui/ui/library.slint:572`](../../ui/dr-ui/ui/library.slint#L572) | | FR-CAT-8 | [`core/dr-catalog/src/schema.rs:767`](../../core/dr-catalog/src/schema.rs#L767), [`core/dr-pipeline/src/coverage.rs:1`](../../core/dr-pipeline/src/coverage.rs#L1), [`core/dr-pipeline/src/graph.rs:587`](../../core/dr-pipeline/src/graph.rs#L587), [`core/dr-pipeline/src/graph.rs:640`](../../core/dr-pipeline/src/graph.rs#L640), [`core/dr-pipeline/src/ops/curve.rs:137`](../../core/dr-pipeline/src/ops/curve.rs#L137), [`core/dr-pipeline/src/ops/curve.rs:656`](../../core/dr-pipeline/src/ops/curve.rs#L656), [`core/dr-pipeline/src/sidecar.rs:1433`](../../core/dr-pipeline/src/sidecar.rs#L1433), [`core/dr-pipeline/src/sidecar.rs:2273`](../../core/dr-pipeline/src/sidecar.rs#L2273), [`core/dr-pipeline/src/sidecar.rs:99`](../../core/dr-pipeline/src/sidecar.rs#L99), [`core/dr-pipeline/src/state.rs:1`](../../core/dr-pipeline/src/state.rs#L1), [`core/dr-pipeline/src/state.rs:75`](../../core/dr-pipeline/src/state.rs#L75), [`core/dr-pipeline/tests/tone_curve.rs:34`](../../core/dr-pipeline/tests/tone_curve.rs#L34), [`core/dr-sync/src/scan.rs:31`](../../core/dr-sync/src/scan.rs#L31), [`core/dr-sync/src/scan.rs:56`](../../core/dr-sync/src/scan.rs#L56), [`core/dr-sync/src/scan.rs:926`](../../core/dr-sync/src/scan.rs#L926), [`ui/dr-ui/src/develop/mask_ops.rs:1076`](../../ui/dr-ui/src/develop/mask_ops.rs#L1076), [`ui/dr-ui/src/develop/mask_ops.rs:1130`](../../ui/dr-ui/src/develop/mask_ops.rs#L1130), [`ui/dr-ui/src/develop/mask_ops.rs:178`](../../ui/dr-ui/src/develop/mask_ops.rs#L178), [`ui/dr-ui/src/develop/masks.rs:743`](../../ui/dr-ui/src/develop/masks.rs#L743), [`ui/dr-ui/src/develop/session.rs:566`](../../ui/dr-ui/src/develop/session.rs#L566), [`ui/dr-ui/src/develop/session.rs:595`](../../ui/dr-ui/src/develop/session.rs#L595), [`ui/dr-ui/src/export.rs:831`](../../ui/dr-ui/src/export.rs#L831), [`ui/dr-ui/src/lib.rs:1180`](../../ui/dr-ui/src/lib.rs#L1180), [`ui/dr-ui/src/lib.rs:1240`](../../ui/dr-ui/src/lib.rs#L1240), [`ui/dr-ui/src/lib.rs:2710`](../../ui/dr-ui/src/lib.rs#L2710), [`ui/dr-ui/src/lib.rs:2857`](../../ui/dr-ui/src/lib.rs#L2857), [`ui/dr-ui/src/lib.rs:791`](../../ui/dr-ui/src/lib.rs#L791), [`ui/dr-ui/src/library/scan.rs:226`](../../ui/dr-ui/src/library/scan.rs#L226), [`ui/dr-ui/src/library/scan.rs:261`](../../ui/dr-ui/src/library/scan.rs#L261), [`ui/dr-ui/src/library/scan.rs:34`](../../ui/dr-ui/src/library/scan.rs#L34), [`ui/dr-ui/src/library/sidecar.rs:100`](../../ui/dr-ui/src/library/sidecar.rs#L100), [`ui/dr-ui/src/library/sidecar.rs:11`](../../ui/dr-ui/src/library/sidecar.rs#L11), [`ui/dr-ui/src/library/sidecar.rs:378`](../../ui/dr-ui/src/library/sidecar.rs#L378), [`ui/dr-ui/src/library/sidecar.rs:63`](../../ui/dr-ui/src/library/sidecar.rs#L63), [`ui/dr-ui/src/library/thumbnails_fetch.rs:413`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L413), [`ui/dr-ui/src/library_ui/grid.rs:778`](../../ui/dr-ui/src/library_ui/grid.rs#L778), [`ui/dr-ui/src/library_ui/open.rs:455`](../../ui/dr-ui/src/library_ui/open.rs#L455), [`ui/dr-ui/src/sidecar_cache.rs:1`](../../ui/dr-ui/src/sidecar_cache.rs#L1) | | FR-CAT-9 | [`core/dr-catalog/src/cache.rs:1`](../../core/dr-catalog/src/cache.rs#L1), [`core/dr-catalog/src/scan.rs:1`](../../core/dr-catalog/src/scan.rs#L1), [`core/dr-catalog/src/schema.rs:1209`](../../core/dr-catalog/src/schema.rs#L1209), [`core/dr-catalog/src/walk.rs:1022`](../../core/dr-catalog/src/walk.rs#L1022), [`core/dr-catalog/src/walk.rs:162`](../../core/dr-catalog/src/walk.rs#L162), [`core/dr-catalog/src/walk.rs:1`](../../core/dr-catalog/src/walk.rs#L1), [`core/dr-catalog/src/walk.rs:435`](../../core/dr-catalog/src/walk.rs#L435), [`core/dr-catalog/src/walk.rs:728`](../../core/dr-catalog/src/walk.rs#L728), [`core/dr-sync-nextcloud/src/desktop_client.rs:35`](../../core/dr-sync-nextcloud/src/desktop_client.rs#L35), [`core/dr-sync/src/error.rs:113`](../../core/dr-sync/src/error.rs#L113), [`core/dr-sync/src/reachability.rs:1`](../../core/dr-sync/src/reachability.rs#L1), [`core/dr-sync/src/scan.rs:211`](../../core/dr-sync/src/scan.rs#L211), [`core/dr-sync/src/scan.rs:519`](../../core/dr-sync/src/scan.rs#L519), [`core/dr-types/src/lib.rs:122`](../../core/dr-types/src/lib.rs#L122), [`ui/dr-ui/src/develop/render.rs:624`](../../ui/dr-ui/src/develop/render.rs#L624), [`ui/dr-ui/src/develop/render.rs:667`](../../ui/dr-ui/src/develop/render.rs#L667), [`ui/dr-ui/src/library/filters.rs:89`](../../ui/dr-ui/src/library/filters.rs#L89), [`ui/dr-ui/src/library/scan.rs:126`](../../ui/dr-ui/src/library/scan.rs#L126), [`ui/dr-ui/src/library/scan.rs:179`](../../ui/dr-ui/src/library/scan.rs#L179), [`ui/dr-ui/src/library/scan.rs:210`](../../ui/dr-ui/src/library/scan.rs#L210), [`ui/dr-ui/src/library/scan.rs:261`](../../ui/dr-ui/src/library/scan.rs#L261), [`ui/dr-ui/src/library/scan.rs:629`](../../ui/dr-ui/src/library/scan.rs#L629), [`ui/dr-ui/src/library/sidecar.rs:100`](../../ui/dr-ui/src/library/sidecar.rs#L100), [`ui/dr-ui/src/library/sidecar.rs:362`](../../ui/dr-ui/src/library/sidecar.rs#L362), [`ui/dr-ui/src/library/sidecar.rs:378`](../../ui/dr-ui/src/library/sidecar.rs#L378), [`ui/dr-ui/src/library/sidecar.rs:432`](../../ui/dr-ui/src/library/sidecar.rs#L432), [`ui/dr-ui/src/library/spans.rs:361`](../../ui/dr-ui/src/library/spans.rs#L361), [`ui/dr-ui/src/library/thumbnails_fetch.rs:393`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L393), [`ui/dr-ui/src/library/thumbnails_fetch.rs:449`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L449), [`ui/dr-ui/src/library/thumbnails_gen.rs:74`](../../ui/dr-ui/src/library/thumbnails_gen.rs#L74), [`ui/dr-ui/src/library_ui/controller.rs:295`](../../ui/dr-ui/src/library_ui/controller.rs#L295), [`ui/dr-ui/src/library_ui/controller.rs:331`](../../ui/dr-ui/src/library_ui/controller.rs#L331), [`ui/dr-ui/src/library_ui/controller.rs:339`](../../ui/dr-ui/src/library_ui/controller.rs#L339), [`ui/dr-ui/src/library_ui/controller.rs:586`](../../ui/dr-ui/src/library_ui/controller.rs#L586), [`ui/dr-ui/src/library_ui/controller.rs:675`](../../ui/dr-ui/src/library_ui/controller.rs#L675), [`ui/dr-ui/src/library_ui/filter_bar.rs:461`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L461), [`ui/dr-ui/src/library_ui/filter_bar.rs:547`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L547), [`ui/dr-ui/src/library_ui/offline.rs:561`](../../ui/dr-ui/src/library_ui/offline.rs#L561), [`ui/dr-ui/src/library_ui/offline.rs:607`](../../ui/dr-ui/src/library_ui/offline.rs#L607), [`ui/dr-ui/src/library_ui/offline.rs:623`](../../ui/dr-ui/src/library_ui/offline.rs#L623), [`ui/dr-ui/src/library_ui/open.rs:535`](../../ui/dr-ui/src/library_ui/open.rs#L535), [`ui/dr-ui/src/library_ui/open.rs:615`](../../ui/dr-ui/src/library_ui/open.rs#L615), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:75`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L75), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:883`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L883), [`ui/dr-ui/src/library_ui/sync.rs:287`](../../ui/dr-ui/src/library_ui/sync.rs#L287), [`ui/dr-ui/src/library_ui/sync.rs:421`](../../ui/dr-ui/src/library_ui/sync.rs#L421), [`ui/dr-ui/src/library_ui/sync.rs:83`](../../ui/dr-ui/src/library_ui/sync.rs#L83), [`ui/dr-ui/src/library_ui/window.rs:659`](../../ui/dr-ui/src/library_ui/window.rs#L659), [`ui/dr-ui/src/library_ui/window.rs:939`](../../ui/dr-ui/src/library_ui/window.rs#L939), [`ui/dr-ui/src/presets.rs:486`](../../ui/dr-ui/src/presets.rs#L486), [`ui/dr-ui/src/presets.rs:498`](../../ui/dr-ui/src/presets.rs#L498), [`ui/dr-ui/src/sidecar_cache.rs:1`](../../ui/dr-ui/src/sidecar_cache.rs#L1), [`ui/dr-ui/tests/export_ignores_the_viewport.rs:1`](../../ui/dr-ui/tests/export_ignores_the_viewport.rs#L1) | | FR-CULL-1 | [`core/dr-decode/src/preview.rs:121`](../../core/dr-decode/src/preview.rs#L121) | @@ -56,7 +56,7 @@ _None._ | FR-CULL-12 | [`core/dr-catalog/src/faces.rs:1`](../../core/dr-catalog/src/faces.rs#L1), [`core/dr-catalog/src/schema.rs:1038`](../../core/dr-catalog/src/schema.rs#L1038), [`core/dr-catalog/src/schema.rs:630`](../../core/dr-catalog/src/schema.rs#L630), [`ui/dr-ui/src/identity.rs:1`](../../ui/dr-ui/src/identity.rs#L1), [`ui/dr-ui/ui/identity.slint:1`](../../ui/dr-ui/ui/identity.slint#L1) | | FR-CULL-13 | [`core/dr-catalog/src/schema.rs:944`](../../core/dr-catalog/src/schema.rs#L944), [`core/dr-types/src/place.rs:133`](../../core/dr-types/src/place.rs#L133), [`ui/dr-ui/src/identity.rs:104`](../../ui/dr-ui/src/identity.rs#L104), [`ui/dr-ui/src/library/filters.rs:136`](../../ui/dr-ui/src/library/filters.rs#L136), [`ui/dr-ui/src/library/filters.rs:763`](../../ui/dr-ui/src/library/filters.rs#L763), [`ui/dr-ui/src/library/filters.rs:806`](../../ui/dr-ui/src/library/filters.rs#L806), [`ui/dr-ui/src/library/filters.rs:844`](../../ui/dr-ui/src/library/filters.rs#L844), [`ui/dr-ui/ui/identity.slint:64`](../../ui/dr-ui/ui/identity.slint#L64), [`ui/dr-ui/ui/library.slint:1923`](../../ui/dr-ui/ui/library.slint#L1923), [`ui/dr-ui/ui/library.slint:730`](../../ui/dr-ui/ui/library.slint#L730) | | FR-CULL-2 | [`core/dr-decode/src/locate.rs:1`](../../core/dr-decode/src/locate.rs#L1), [`core/dr-decode/src/preview.rs:148`](../../core/dr-decode/src/preview.rs#L148), [`ui/dr-ui/src/decoder_seam.rs:215`](../../ui/dr-ui/src/decoder_seam.rs#L215), [`ui/dr-ui/src/import.rs:474`](../../ui/dr-ui/src/import.rs#L474) | -| FR-CULL-3 | [`core/dr-gpu/src/focus.rs:154`](../../core/dr-gpu/src/focus.rs#L154), [`core/dr-gpu/src/focus.rs:186`](../../core/dr-gpu/src/focus.rs#L186), [`core/dr-gpu/src/focus.rs:1`](../../core/dr-gpu/src/focus.rs#L1), [`core/dr-gpu/src/focus.rs:317`](../../core/dr-gpu/src/focus.rs#L317), [`core/dr-gpu/src/raw_histogram.rs:129`](../../core/dr-gpu/src/raw_histogram.rs#L129), [`core/dr-gpu/src/raw_histogram.rs:1`](../../core/dr-gpu/src/raw_histogram.rs#L1), [`core/dr-gpu/src/raw_histogram.rs:272`](../../core/dr-gpu/src/raw_histogram.rs#L272), [`core/dr-gpu/src/raw_histogram.rs:407`](../../core/dr-gpu/src/raw_histogram.rs#L407), [`core/dr-gpu/src/shaders/focus_peak.wgsl:1`](../../core/dr-gpu/src/shaders/focus_peak.wgsl#L1), [`core/dr-gpu/src/shaders/raw_histogram.wgsl:1`](../../core/dr-gpu/src/shaders/raw_histogram.wgsl#L1), [`ui/dr-ui/src/develop/render.rs:1362`](../../ui/dr-ui/src/develop/render.rs#L1362), [`ui/dr-ui/src/develop/render.rs:1426`](../../ui/dr-ui/src/develop/render.rs#L1426), [`ui/dr-ui/src/develop/render.rs:1449`](../../ui/dr-ui/src/develop/render.rs#L1449), [`ui/dr-ui/src/develop/render.rs:317`](../../ui/dr-ui/src/develop/render.rs#L317), [`ui/dr-ui/src/develop/render.rs:330`](../../ui/dr-ui/src/develop/render.rs#L330), [`ui/dr-ui/src/develop/render.rs:375`](../../ui/dr-ui/src/develop/render.rs#L375), [`ui/dr-ui/src/develop/render.rs:386`](../../ui/dr-ui/src/develop/render.rs#L386), [`ui/dr-ui/src/develop/render.rs:392`](../../ui/dr-ui/src/develop/render.rs#L392), [`ui/dr-ui/src/develop/render.rs:409`](../../ui/dr-ui/src/develop/render.rs#L409), [`ui/dr-ui/src/develop/session.rs:122`](../../ui/dr-ui/src/develop/session.rs#L122), [`ui/dr-ui/src/develop/session.rs:142`](../../ui/dr-ui/src/develop/session.rs#L142), [`ui/dr-ui/src/develop/session.rs:148`](../../ui/dr-ui/src/develop/session.rs#L148), [`ui/dr-ui/src/develop_ui.rs:1359`](../../ui/dr-ui/src/develop_ui.rs#L1359), [`ui/dr-ui/src/histogram.rs:1`](../../ui/dr-ui/src/histogram.rs#L1), [`ui/dr-ui/src/histogram.rs:208`](../../ui/dr-ui/src/histogram.rs#L208), [`ui/dr-ui/src/histogram.rs:228`](../../ui/dr-ui/src/histogram.rs#L228), [`ui/dr-ui/src/histogram.rs:272`](../../ui/dr-ui/src/histogram.rs#L272), [`ui/dr-ui/src/histogram.rs:544`](../../ui/dr-ui/src/histogram.rs#L544), [`ui/dr-ui/src/histogram.rs:565`](../../ui/dr-ui/src/histogram.rs#L565), [`ui/dr-ui/src/histogram.rs:593`](../../ui/dr-ui/src/histogram.rs#L593), [`ui/dr-ui/src/histogram.rs:621`](../../ui/dr-ui/src/histogram.rs#L621), [`ui/dr-ui/src/histogram.rs:658`](../../ui/dr-ui/src/histogram.rs#L658), [`ui/dr-ui/src/lib.rs:1269`](../../ui/dr-ui/src/lib.rs#L1269), [`ui/dr-ui/src/lib.rs:2244`](../../ui/dr-ui/src/lib.rs#L2244), [`ui/dr-ui/src/lib.rs:2374`](../../ui/dr-ui/src/lib.rs#L2374), [`ui/dr-ui/src/lib.rs:2417`](../../ui/dr-ui/src/lib.rs#L2417), [`ui/dr-ui/src/lib.rs:468`](../../ui/dr-ui/src/lib.rs#L468), [`ui/dr-ui/src/peaking.rs:1`](../../ui/dr-ui/src/peaking.rs#L1), [`ui/dr-ui/ui/app.slint:153`](../../ui/dr-ui/ui/app.slint#L153), [`ui/dr-ui/ui/app.slint:1866`](../../ui/dr-ui/ui/app.slint#L1866), [`ui/dr-ui/ui/app.slint:3224`](../../ui/dr-ui/ui/app.slint#L3224), [`ui/dr-ui/ui/peaking.slint:1`](../../ui/dr-ui/ui/peaking.slint#L1), [`ui/dr-ui/ui/peaking.slint:25`](../../ui/dr-ui/ui/peaking.slint#L25), [`ui/dr-ui/ui/peaking.slint:56`](../../ui/dr-ui/ui/peaking.slint#L56), [`ui/dr-ui/ui/peaking.slint:91`](../../ui/dr-ui/ui/peaking.slint#L91) | +| FR-CULL-3 | [`core/dr-gpu/src/focus.rs:154`](../../core/dr-gpu/src/focus.rs#L154), [`core/dr-gpu/src/focus.rs:186`](../../core/dr-gpu/src/focus.rs#L186), [`core/dr-gpu/src/focus.rs:1`](../../core/dr-gpu/src/focus.rs#L1), [`core/dr-gpu/src/focus.rs:317`](../../core/dr-gpu/src/focus.rs#L317), [`core/dr-gpu/src/raw_histogram.rs:129`](../../core/dr-gpu/src/raw_histogram.rs#L129), [`core/dr-gpu/src/raw_histogram.rs:1`](../../core/dr-gpu/src/raw_histogram.rs#L1), [`core/dr-gpu/src/raw_histogram.rs:272`](../../core/dr-gpu/src/raw_histogram.rs#L272), [`core/dr-gpu/src/raw_histogram.rs:407`](../../core/dr-gpu/src/raw_histogram.rs#L407), [`core/dr-gpu/src/shaders/focus_peak.wgsl:1`](../../core/dr-gpu/src/shaders/focus_peak.wgsl#L1), [`core/dr-gpu/src/shaders/raw_histogram.wgsl:1`](../../core/dr-gpu/src/shaders/raw_histogram.wgsl#L1), [`ui/dr-ui/src/develop/render.rs:1362`](../../ui/dr-ui/src/develop/render.rs#L1362), [`ui/dr-ui/src/develop/render.rs:1426`](../../ui/dr-ui/src/develop/render.rs#L1426), [`ui/dr-ui/src/develop/render.rs:1449`](../../ui/dr-ui/src/develop/render.rs#L1449), [`ui/dr-ui/src/develop/render.rs:317`](../../ui/dr-ui/src/develop/render.rs#L317), [`ui/dr-ui/src/develop/render.rs:330`](../../ui/dr-ui/src/develop/render.rs#L330), [`ui/dr-ui/src/develop/render.rs:375`](../../ui/dr-ui/src/develop/render.rs#L375), [`ui/dr-ui/src/develop/render.rs:386`](../../ui/dr-ui/src/develop/render.rs#L386), [`ui/dr-ui/src/develop/render.rs:392`](../../ui/dr-ui/src/develop/render.rs#L392), [`ui/dr-ui/src/develop/render.rs:409`](../../ui/dr-ui/src/develop/render.rs#L409), [`ui/dr-ui/src/develop/session.rs:122`](../../ui/dr-ui/src/develop/session.rs#L122), [`ui/dr-ui/src/develop/session.rs:142`](../../ui/dr-ui/src/develop/session.rs#L142), [`ui/dr-ui/src/develop/session.rs:148`](../../ui/dr-ui/src/develop/session.rs#L148), [`ui/dr-ui/src/develop_ui.rs:1359`](../../ui/dr-ui/src/develop_ui.rs#L1359), [`ui/dr-ui/src/histogram.rs:1`](../../ui/dr-ui/src/histogram.rs#L1), [`ui/dr-ui/src/histogram.rs:208`](../../ui/dr-ui/src/histogram.rs#L208), [`ui/dr-ui/src/histogram.rs:228`](../../ui/dr-ui/src/histogram.rs#L228), [`ui/dr-ui/src/histogram.rs:272`](../../ui/dr-ui/src/histogram.rs#L272), [`ui/dr-ui/src/histogram.rs:544`](../../ui/dr-ui/src/histogram.rs#L544), [`ui/dr-ui/src/histogram.rs:565`](../../ui/dr-ui/src/histogram.rs#L565), [`ui/dr-ui/src/histogram.rs:593`](../../ui/dr-ui/src/histogram.rs#L593), [`ui/dr-ui/src/histogram.rs:621`](../../ui/dr-ui/src/histogram.rs#L621), [`ui/dr-ui/src/histogram.rs:658`](../../ui/dr-ui/src/histogram.rs#L658), [`ui/dr-ui/src/lib.rs:1269`](../../ui/dr-ui/src/lib.rs#L1269), [`ui/dr-ui/src/lib.rs:2244`](../../ui/dr-ui/src/lib.rs#L2244), [`ui/dr-ui/src/lib.rs:2374`](../../ui/dr-ui/src/lib.rs#L2374), [`ui/dr-ui/src/lib.rs:2417`](../../ui/dr-ui/src/lib.rs#L2417), [`ui/dr-ui/src/lib.rs:468`](../../ui/dr-ui/src/lib.rs#L468), [`ui/dr-ui/src/peaking.rs:1`](../../ui/dr-ui/src/peaking.rs#L1), [`ui/dr-ui/ui/app.slint:153`](../../ui/dr-ui/ui/app.slint#L153), [`ui/dr-ui/ui/app.slint:1866`](../../ui/dr-ui/ui/app.slint#L1866), [`ui/dr-ui/ui/app.slint:3228`](../../ui/dr-ui/ui/app.slint#L3228), [`ui/dr-ui/ui/peaking.slint:1`](../../ui/dr-ui/ui/peaking.slint#L1), [`ui/dr-ui/ui/peaking.slint:25`](../../ui/dr-ui/ui/peaking.slint#L25), [`ui/dr-ui/ui/peaking.slint:56`](../../ui/dr-ui/ui/peaking.slint#L56), [`ui/dr-ui/ui/peaking.slint:91`](../../ui/dr-ui/ui/peaking.slint#L91) | | FR-CULL-4 | [`core/dr-catalog/src/rating.rs:1`](../../core/dr-catalog/src/rating.rs#L1), [`core/dr-pipeline/src/sidecar.rs:174`](../../core/dr-pipeline/src/sidecar.rs#L174), [`core/dr-xmp/src/lib.rs:442`](../../core/dr-xmp/src/lib.rs#L442), [`ui/dr-ui/src/library/filters.rs:64`](../../ui/dr-ui/src/library/filters.rs#L64), [`ui/dr-ui/src/library/sidecar.rs:11`](../../ui/dr-ui/src/library/sidecar.rs#L11), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1028`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1028), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1301`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1301), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:457`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L457), [`ui/dr-ui/ui/app.slint:1635`](../../ui/dr-ui/ui/app.slint#L1635), [`ui/dr-ui/ui/app.slint:2725`](../../ui/dr-ui/ui/app.slint#L2725), [`ui/dr-ui/ui/develop.slint:168`](../../ui/dr-ui/ui/develop.slint#L168), [`ui/dr-ui/ui/develop.slint:55`](../../ui/dr-ui/ui/develop.slint#L55), [`ui/dr-ui/ui/library.slint:1039`](../../ui/dr-ui/ui/library.slint#L1039), [`ui/dr-ui/ui/library.slint:1618`](../../ui/dr-ui/ui/library.slint#L1618), [`ui/dr-ui/ui/library.slint:488`](../../ui/dr-ui/ui/library.slint#L488), [`ui/dr-ui/ui/library.slint:5069`](../../ui/dr-ui/ui/library.slint#L5069), [`ui/dr-ui/ui/library.slint:642`](../../ui/dr-ui/ui/library.slint#L642) | | FR-CULL-5 | [`core/dr-catalog/src/bursts.rs:1`](../../core/dr-catalog/src/bursts.rs#L1), [`core/dr-catalog/src/schema.rs:673`](../../core/dr-catalog/src/schema.rs#L673), [`ui/dr-ui/src/bursts.rs:1`](../../ui/dr-ui/src/bursts.rs#L1), [`ui/dr-ui/src/library/cells.rs:19`](../../ui/dr-ui/src/library/cells.rs#L19), [`ui/dr-ui/src/library/cells.rs:769`](../../ui/dr-ui/src/library/cells.rs#L769), [`ui/dr-ui/ui/library.slint:488`](../../ui/dr-ui/ui/library.slint#L488) | | FR-CULL-8 | [`core/dr-catalog/src/face_shard.rs:1`](../../core/dr-catalog/src/face_shard.rs#L1), [`core/dr-catalog/src/faces.rs:1`](../../core/dr-catalog/src/faces.rs#L1), [`core/dr-catalog/src/schema.rs:1038`](../../core/dr-catalog/src/schema.rs#L1038), [`core/dr-catalog/src/schema.rs:741`](../../core/dr-catalog/src/schema.rs#L741), [`core/dr-catalog/src/schema.rs:997`](../../core/dr-catalog/src/schema.rs#L997), [`core/dr-face/src/align.rs:296`](../../core/dr-face/src/align.rs#L296), [`core/dr-types/src/settings.rs:176`](../../core/dr-types/src/settings.rs#L176), [`ui/dr-ui/examples/face_detectors.rs:1`](../../ui/dr-ui/examples/face_detectors.rs#L1), [`ui/dr-ui/examples/face_native.rs:1`](../../ui/dr-ui/examples/face_native.rs#L1), [`ui/dr-ui/src/derived_sync.rs:127`](../../ui/dr-ui/src/derived_sync.rs#L127), [`ui/dr-ui/src/faces.rs:1`](../../ui/dr-ui/src/faces.rs#L1), [`ui/dr-ui/src/faces.rs:446`](../../ui/dr-ui/src/faces.rs#L446), [`ui/dr-ui/src/faces.rs:462`](../../ui/dr-ui/src/faces.rs#L462), [`ui/dr-ui/src/faces.rs:584`](../../ui/dr-ui/src/faces.rs#L584), [`ui/dr-ui/src/identity_ui.rs:1472`](../../ui/dr-ui/src/identity_ui.rs#L1472), [`ui/dr-ui/src/identity_ui.rs:617`](../../ui/dr-ui/src/identity_ui.rs#L617), [`ui/dr-ui/src/lib.rs:1739`](../../ui/dr-ui/src/lib.rs#L1739), [`ui/dr-ui/src/lib.rs:3117`](../../ui/dr-ui/src/lib.rs#L3117), [`ui/dr-ui/src/library/sweep.rs:242`](../../ui/dr-ui/src/library/sweep.rs#L242), [`ui/dr-ui/src/library/sweep.rs:510`](../../ui/dr-ui/src/library/sweep.rs#L510), [`ui/dr-ui/src/library_ui/controller.rs:417`](../../ui/dr-ui/src/library_ui/controller.rs#L417), [`ui/dr-ui/src/library_ui/controller.rs:506`](../../ui/dr-ui/src/library_ui/controller.rs#L506), [`ui/dr-ui/src/repairs.rs:1`](../../ui/dr-ui/src/repairs.rs#L1), [`ui/dr-ui/src/settings_ui.rs:210`](../../ui/dr-ui/src/settings_ui.rs#L210), [`ui/dr-ui/src/settings_ui.rs:645`](../../ui/dr-ui/src/settings_ui.rs#L645), [`ui/dr-ui/ui/app.slint:638`](../../ui/dr-ui/ui/app.slint#L638), [`ui/dr-ui/ui/settings.slint:101`](../../ui/dr-ui/ui/settings.slint#L101), [`ui/dr-ui/ui/settings.slint:404`](../../ui/dr-ui/ui/settings.slint#L404), [`ui/dr-ui/ui/settings.slint:466`](../../ui/dr-ui/ui/settings.slint#L466), [`ui/dr-ui/ui/settings.slint:83`](../../ui/dr-ui/ui/settings.slint#L83), [`ui/dr-ui/ui/settings.slint:95`](../../ui/dr-ui/ui/settings.slint#L95) | @@ -85,9 +85,9 @@ _None._ | FR-DEV-3i | [`core/dr-pipeline/src/mask.rs:558`](../../core/dr-pipeline/src/mask.rs#L558), [`core/dr-segment/src/lib.rs:1`](../../core/dr-segment/src/lib.rs#L1), [`ui/dr-ui/src/segmentation.rs:1`](../../ui/dr-ui/src/segmentation.rs#L1) | | FR-DEV-4 | [`core/dr-gpu/src/adjust.rs:1039`](../../core/dr-gpu/src/adjust.rs#L1039), [`core/dr-gpu/src/lib.rs:368`](../../core/dr-gpu/src/lib.rs#L368), [`ui/dr-ui/ui/crop.slint:1`](../../ui/dr-ui/ui/crop.slint#L1) | | FR-DEV-5 | [`core/dr-pipeline/src/graph.rs:1440`](../../core/dr-pipeline/src/graph.rs#L1440), [`core/dr-pipeline/src/graph.rs:587`](../../core/dr-pipeline/src/graph.rs#L587), [`core/dr-pipeline/src/graph.rs:640`](../../core/dr-pipeline/src/graph.rs#L640), [`core/dr-pipeline/src/history.rs:102`](../../core/dr-pipeline/src/history.rs#L102), [`core/dr-pipeline/src/history.rs:110`](../../core/dr-pipeline/src/history.rs#L110), [`core/dr-pipeline/src/history.rs:127`](../../core/dr-pipeline/src/history.rs#L127), [`core/dr-pipeline/src/history.rs:184`](../../core/dr-pipeline/src/history.rs#L184), [`core/dr-pipeline/src/history.rs:1`](../../core/dr-pipeline/src/history.rs#L1), [`core/dr-pipeline/src/history.rs:214`](../../core/dr-pipeline/src/history.rs#L214), [`core/dr-pipeline/src/history.rs:234`](../../core/dr-pipeline/src/history.rs#L234), [`core/dr-pipeline/src/history.rs:293`](../../core/dr-pipeline/src/history.rs#L293), [`core/dr-pipeline/src/history.rs:479`](../../core/dr-pipeline/src/history.rs#L479), [`core/dr-pipeline/src/history.rs:489`](../../core/dr-pipeline/src/history.rs#L489), [`core/dr-pipeline/src/history.rs:499`](../../core/dr-pipeline/src/history.rs#L499), [`core/dr-pipeline/src/history.rs:526`](../../core/dr-pipeline/src/history.rs#L526), [`core/dr-pipeline/src/history.rs:86`](../../core/dr-pipeline/src/history.rs#L86), [`core/dr-pipeline/src/sidecar.rs:1067`](../../core/dr-pipeline/src/sidecar.rs#L1067), [`core/dr-pipeline/src/sidecar.rs:147`](../../core/dr-pipeline/src/sidecar.rs#L147), [`core/dr-pipeline/src/sidecar.rs:2513`](../../core/dr-pipeline/src/sidecar.rs#L2513), [`core/dr-pipeline/src/sidecar.rs:2549`](../../core/dr-pipeline/src/sidecar.rs#L2549), [`core/dr-pipeline/src/sidecar.rs:2561`](../../core/dr-pipeline/src/sidecar.rs#L2561), [`core/dr-pipeline/src/sidecar.rs:318`](../../core/dr-pipeline/src/sidecar.rs#L318), [`core/dr-pipeline/src/sidecar.rs:713`](../../core/dr-pipeline/src/sidecar.rs#L713), [`core/dr-pipeline/src/sidecar.rs:729`](../../core/dr-pipeline/src/sidecar.rs#L729), [`core/dr-pipeline/src/sidecar.rs:876`](../../core/dr-pipeline/src/sidecar.rs#L876), [`core/dr-pipeline/src/state.rs:1`](../../core/dr-pipeline/src/state.rs#L1), [`core/dr-pipeline/src/state.rs:75`](../../core/dr-pipeline/src/state.rs#L75), [`ui/dr-ui/src/develop/framing.rs:870`](../../ui/dr-ui/src/develop/framing.rs#L870), [`ui/dr-ui/src/develop/history.rs:11`](../../ui/dr-ui/src/develop/history.rs#L11), [`ui/dr-ui/src/develop/history.rs:152`](../../ui/dr-ui/src/develop/history.rs#L152), [`ui/dr-ui/src/develop/history.rs:165`](../../ui/dr-ui/src/develop/history.rs#L165), [`ui/dr-ui/src/develop/history.rs:178`](../../ui/dr-ui/src/develop/history.rs#L178), [`ui/dr-ui/src/develop/history.rs:190`](../../ui/dr-ui/src/develop/history.rs#L190), [`ui/dr-ui/src/develop/history.rs:206`](../../ui/dr-ui/src/develop/history.rs#L206), [`ui/dr-ui/src/develop/history.rs:238`](../../ui/dr-ui/src/develop/history.rs#L238), [`ui/dr-ui/src/develop/history.rs:242`](../../ui/dr-ui/src/develop/history.rs#L242), [`ui/dr-ui/src/develop/history.rs:261`](../../ui/dr-ui/src/develop/history.rs#L261), [`ui/dr-ui/src/develop/history.rs:277`](../../ui/dr-ui/src/develop/history.rs#L277), [`ui/dr-ui/src/develop/history.rs:299`](../../ui/dr-ui/src/develop/history.rs#L299), [`ui/dr-ui/src/develop/history.rs:29`](../../ui/dr-ui/src/develop/history.rs#L29), [`ui/dr-ui/src/develop/history.rs:359`](../../ui/dr-ui/src/develop/history.rs#L359), [`ui/dr-ui/src/develop/history.rs:68`](../../ui/dr-ui/src/develop/history.rs#L68), [`ui/dr-ui/src/develop/history.rs:82`](../../ui/dr-ui/src/develop/history.rs#L82), [`ui/dr-ui/src/develop/history.rs:93`](../../ui/dr-ui/src/develop/history.rs#L93), [`ui/dr-ui/src/develop/render.rs:711`](../../ui/dr-ui/src/develop/render.rs#L711), [`ui/dr-ui/src/develop/render.rs:887`](../../ui/dr-ui/src/develop/render.rs#L887), [`ui/dr-ui/src/develop/render.rs:923`](../../ui/dr-ui/src/develop/render.rs#L923), [`ui/dr-ui/src/develop/session.rs:80`](../../ui/dr-ui/src/develop/session.rs#L80), [`ui/dr-ui/src/develop/session.rs:89`](../../ui/dr-ui/src/develop/session.rs#L89), [`ui/dr-ui/src/develop/white_balance.rs:11`](../../ui/dr-ui/src/develop/white_balance.rs#L11), [`ui/dr-ui/src/develop/white_balance.rs:162`](../../ui/dr-ui/src/develop/white_balance.rs#L162), [`ui/dr-ui/src/develop_ui.rs:705`](../../ui/dr-ui/src/develop_ui.rs#L705), [`ui/dr-ui/src/develop_ui.rs:725`](../../ui/dr-ui/src/develop_ui.rs#L725), [`ui/dr-ui/src/labels.rs:12`](../../ui/dr-ui/src/labels.rs#L12), [`ui/dr-ui/src/labels.rs:284`](../../ui/dr-ui/src/labels.rs#L284), [`ui/dr-ui/src/labels.rs:31`](../../ui/dr-ui/src/labels.rs#L31), [`ui/dr-ui/src/lib.rs:2151`](../../ui/dr-ui/src/lib.rs#L2151), [`ui/dr-ui/src/lib.rs:2156`](../../ui/dr-ui/src/lib.rs#L2156), [`ui/dr-ui/src/lib.rs:2188`](../../ui/dr-ui/src/lib.rs#L2188), [`ui/dr-ui/src/lib.rs:2197`](../../ui/dr-ui/src/lib.rs#L2197), [`ui/dr-ui/src/lib.rs:2214`](../../ui/dr-ui/src/lib.rs#L2214), [`ui/dr-ui/src/library/sidecar.rs:348`](../../ui/dr-ui/src/library/sidecar.rs#L348), [`ui/dr-ui/src/library/sidecar.rs:58`](../../ui/dr-ui/src/library/sidecar.rs#L58), [`ui/dr-ui/src/presets.rs:1678`](../../ui/dr-ui/src/presets.rs#L1678), [`ui/dr-ui/src/presets.rs:373`](../../ui/dr-ui/src/presets.rs#L373), [`ui/dr-ui/src/presets.rs:437`](../../ui/dr-ui/src/presets.rs#L437), [`ui/dr-ui/src/presets.rs:557`](../../ui/dr-ui/src/presets.rs#L557), [`ui/dr-ui/ui/history.slint:192`](../../ui/dr-ui/ui/history.slint#L192), [`ui/dr-ui/ui/history.slint:1`](../../ui/dr-ui/ui/history.slint#L1), [`ui/dr-ui/ui/history.slint:219`](../../ui/dr-ui/ui/history.slint#L219), [`ui/dr-ui/ui/history.slint:304`](../../ui/dr-ui/ui/history.slint#L304), [`ui/dr-ui/ui/history.slint:43`](../../ui/dr-ui/ui/history.slint#L43), [`ui/dr-ui/ui/history.slint:53`](../../ui/dr-ui/ui/history.slint#L53) | -| FR-DEV-6 | [`core/dr-pipeline/src/preset.rs:1`](../../core/dr-pipeline/src/preset.rs#L1), [`core/dr-pipeline/src/preset.rs:390`](../../core/dr-pipeline/src/preset.rs#L390), [`core/dr-pipeline/src/preset.rs:423`](../../core/dr-pipeline/src/preset.rs#L423), [`core/dr-pipeline/src/starter.rs:1`](../../core/dr-pipeline/src/starter.rs#L1), [`core/dr-preset-xmp/src/lib.rs:1`](../../core/dr-preset-xmp/src/lib.rs#L1), [`core/dr-types/src/settings.rs:443`](../../core/dr-types/src/settings.rs#L443), [`ui/dr-ui/src/develop/session.rs:560`](../../ui/dr-ui/src/develop/session.rs#L560), [`ui/dr-ui/src/develop/session.rs:581`](../../ui/dr-ui/src/develop/session.rs#L581), [`ui/dr-ui/src/develop_ui.rs:167`](../../ui/dr-ui/src/develop_ui.rs#L167), [`ui/dr-ui/src/develop_ui.rs:196`](../../ui/dr-ui/src/develop_ui.rs#L196), [`ui/dr-ui/src/lib.rs:1240`](../../ui/dr-ui/src/lib.rs#L1240), [`ui/dr-ui/src/library/sidecar.rs:11`](../../ui/dr-ui/src/library/sidecar.rs#L11), [`ui/dr-ui/src/library/sidecar.rs:39`](../../ui/dr-ui/src/library/sidecar.rs#L39), [`ui/dr-ui/src/library/thumbnails_fetch.rs:413`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L413), [`ui/dr-ui/src/library_ui/controller.rs:643`](../../ui/dr-ui/src/library_ui/controller.rs#L643), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:488`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L488), [`ui/dr-ui/src/library_ui/window.rs:659`](../../ui/dr-ui/src/library_ui/window.rs#L659), [`ui/dr-ui/src/preset_store.rs:1`](../../ui/dr-ui/src/preset_store.rs#L1), [`ui/dr-ui/src/presets.rs:1`](../../ui/dr-ui/src/presets.rs#L1), [`ui/dr-ui/src/presets.rs:707`](../../ui/dr-ui/src/presets.rs#L707), [`ui/dr-ui/src/presets.rs:741`](../../ui/dr-ui/src/presets.rs#L741), [`ui/dr-ui/ui/adjust.slint:937`](../../ui/dr-ui/ui/adjust.slint#L937), [`ui/dr-ui/ui/adjust.slint:962`](../../ui/dr-ui/ui/adjust.slint#L962), [`ui/dr-ui/ui/app.slint:1055`](../../ui/dr-ui/ui/app.slint#L1055), [`ui/dr-ui/ui/app.slint:1471`](../../ui/dr-ui/ui/app.slint#L1471), [`ui/dr-ui/ui/app.slint:2429`](../../ui/dr-ui/ui/app.slint#L2429), [`ui/dr-ui/ui/app.slint:3350`](../../ui/dr-ui/ui/app.slint#L3350), [`ui/dr-ui/ui/app.slint:3394`](../../ui/dr-ui/ui/app.slint#L3394), [`ui/dr-ui/ui/app.slint:494`](../../ui/dr-ui/ui/app.slint#L494), [`ui/dr-ui/ui/app.slint:505`](../../ui/dr-ui/ui/app.slint#L505), [`ui/dr-ui/ui/app.slint:659`](../../ui/dr-ui/ui/app.slint#L659), [`ui/dr-ui/ui/develop.slint:257`](../../ui/dr-ui/ui/develop.slint#L257), [`ui/dr-ui/ui/library.slint:1995`](../../ui/dr-ui/ui/library.slint#L1995), [`ui/dr-ui/ui/library.slint:2001`](../../ui/dr-ui/ui/library.slint#L2001), [`ui/dr-ui/ui/library.slint:3190`](../../ui/dr-ui/ui/library.slint#L3190), [`ui/dr-ui/ui/library.slint:5108`](../../ui/dr-ui/ui/library.slint#L5108), [`ui/dr-ui/ui/library.slint:5126`](../../ui/dr-ui/ui/library.slint#L5126), [`ui/dr-ui/ui/presets.slint:105`](../../ui/dr-ui/ui/presets.slint#L105), [`ui/dr-ui/ui/presets.slint:113`](../../ui/dr-ui/ui/presets.slint#L113), [`ui/dr-ui/ui/presets.slint:19`](../../ui/dr-ui/ui/presets.slint#L19), [`ui/dr-ui/ui/presets.slint:276`](../../ui/dr-ui/ui/presets.slint#L276), [`ui/dr-ui/ui/presets.slint:297`](../../ui/dr-ui/ui/presets.slint#L297), [`ui/dr-ui/ui/presets.slint:332`](../../ui/dr-ui/ui/presets.slint#L332), [`ui/dr-ui/ui/presets.slint:5`](../../ui/dr-ui/ui/presets.slint#L5), [`ui/dr-ui/ui/presets.slint:60`](../../ui/dr-ui/ui/presets.slint#L60), [`ui/dr-ui/ui/settings.slint:126`](../../ui/dr-ui/ui/settings.slint#L126), [`ui/dr-ui/ui/settings.slint:687`](../../ui/dr-ui/ui/settings.slint#L687) | +| FR-DEV-6 | [`core/dr-pipeline/src/preset.rs:1`](../../core/dr-pipeline/src/preset.rs#L1), [`core/dr-pipeline/src/preset.rs:390`](../../core/dr-pipeline/src/preset.rs#L390), [`core/dr-pipeline/src/preset.rs:423`](../../core/dr-pipeline/src/preset.rs#L423), [`core/dr-pipeline/src/starter.rs:1`](../../core/dr-pipeline/src/starter.rs#L1), [`core/dr-preset-xmp/src/lib.rs:1`](../../core/dr-preset-xmp/src/lib.rs#L1), [`core/dr-types/src/settings.rs:443`](../../core/dr-types/src/settings.rs#L443), [`ui/dr-ui/src/develop/session.rs:560`](../../ui/dr-ui/src/develop/session.rs#L560), [`ui/dr-ui/src/develop/session.rs:581`](../../ui/dr-ui/src/develop/session.rs#L581), [`ui/dr-ui/src/develop_ui.rs:167`](../../ui/dr-ui/src/develop_ui.rs#L167), [`ui/dr-ui/src/develop_ui.rs:196`](../../ui/dr-ui/src/develop_ui.rs#L196), [`ui/dr-ui/src/lib.rs:1240`](../../ui/dr-ui/src/lib.rs#L1240), [`ui/dr-ui/src/library/sidecar.rs:11`](../../ui/dr-ui/src/library/sidecar.rs#L11), [`ui/dr-ui/src/library/sidecar.rs:39`](../../ui/dr-ui/src/library/sidecar.rs#L39), [`ui/dr-ui/src/library/thumbnails_fetch.rs:413`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L413), [`ui/dr-ui/src/library_ui/controller.rs:643`](../../ui/dr-ui/src/library_ui/controller.rs#L643), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:488`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L488), [`ui/dr-ui/src/library_ui/window.rs:659`](../../ui/dr-ui/src/library_ui/window.rs#L659), [`ui/dr-ui/src/preset_store.rs:1`](../../ui/dr-ui/src/preset_store.rs#L1), [`ui/dr-ui/src/presets.rs:1`](../../ui/dr-ui/src/presets.rs#L1), [`ui/dr-ui/src/presets.rs:707`](../../ui/dr-ui/src/presets.rs#L707), [`ui/dr-ui/src/presets.rs:741`](../../ui/dr-ui/src/presets.rs#L741), [`ui/dr-ui/ui/adjust.slint:937`](../../ui/dr-ui/ui/adjust.slint#L937), [`ui/dr-ui/ui/adjust.slint:962`](../../ui/dr-ui/ui/adjust.slint#L962), [`ui/dr-ui/ui/app.slint:1055`](../../ui/dr-ui/ui/app.slint#L1055), [`ui/dr-ui/ui/app.slint:1471`](../../ui/dr-ui/ui/app.slint#L1471), [`ui/dr-ui/ui/app.slint:2429`](../../ui/dr-ui/ui/app.slint#L2429), [`ui/dr-ui/ui/app.slint:3367`](../../ui/dr-ui/ui/app.slint#L3367), [`ui/dr-ui/ui/app.slint:3411`](../../ui/dr-ui/ui/app.slint#L3411), [`ui/dr-ui/ui/app.slint:494`](../../ui/dr-ui/ui/app.slint#L494), [`ui/dr-ui/ui/app.slint:505`](../../ui/dr-ui/ui/app.slint#L505), [`ui/dr-ui/ui/app.slint:659`](../../ui/dr-ui/ui/app.slint#L659), [`ui/dr-ui/ui/develop.slint:257`](../../ui/dr-ui/ui/develop.slint#L257), [`ui/dr-ui/ui/library.slint:1995`](../../ui/dr-ui/ui/library.slint#L1995), [`ui/dr-ui/ui/library.slint:2001`](../../ui/dr-ui/ui/library.slint#L2001), [`ui/dr-ui/ui/library.slint:3190`](../../ui/dr-ui/ui/library.slint#L3190), [`ui/dr-ui/ui/library.slint:5108`](../../ui/dr-ui/ui/library.slint#L5108), [`ui/dr-ui/ui/library.slint:5126`](../../ui/dr-ui/ui/library.slint#L5126), [`ui/dr-ui/ui/presets.slint:105`](../../ui/dr-ui/ui/presets.slint#L105), [`ui/dr-ui/ui/presets.slint:113`](../../ui/dr-ui/ui/presets.slint#L113), [`ui/dr-ui/ui/presets.slint:19`](../../ui/dr-ui/ui/presets.slint#L19), [`ui/dr-ui/ui/presets.slint:276`](../../ui/dr-ui/ui/presets.slint#L276), [`ui/dr-ui/ui/presets.slint:297`](../../ui/dr-ui/ui/presets.slint#L297), [`ui/dr-ui/ui/presets.slint:332`](../../ui/dr-ui/ui/presets.slint#L332), [`ui/dr-ui/ui/presets.slint:5`](../../ui/dr-ui/ui/presets.slint#L5), [`ui/dr-ui/ui/presets.slint:60`](../../ui/dr-ui/ui/presets.slint#L60), [`ui/dr-ui/ui/settings.slint:126`](../../ui/dr-ui/ui/settings.slint#L126), [`ui/dr-ui/ui/settings.slint:687`](../../ui/dr-ui/ui/settings.slint#L687) | | FR-DEV-7 | [`core/dr-pipeline/src/history.rs:214`](../../core/dr-pipeline/src/history.rs#L214), [`core/dr-pipeline/src/history.rs:499`](../../core/dr-pipeline/src/history.rs#L499), [`core/dr-pipeline/src/history.rs:526`](../../core/dr-pipeline/src/history.rs#L526), [`ui/dr-ui/src/develop/history.rs:107`](../../ui/dr-ui/src/develop/history.rs#L107), [`ui/dr-ui/src/develop/history.rs:124`](../../ui/dr-ui/src/develop/history.rs#L124), [`ui/dr-ui/src/develop/history.rs:206`](../../ui/dr-ui/src/develop/history.rs#L206), [`ui/dr-ui/src/develop/history.rs:238`](../../ui/dr-ui/src/develop/history.rs#L238), [`ui/dr-ui/src/develop/history.rs:359`](../../ui/dr-ui/src/develop/history.rs#L359), [`ui/dr-ui/src/develop/render.rs:493`](../../ui/dr-ui/src/develop/render.rs#L493), [`ui/dr-ui/src/develop/render.rs:534`](../../ui/dr-ui/src/develop/render.rs#L534), [`ui/dr-ui/src/develop/render.rs:923`](../../ui/dr-ui/src/develop/render.rs#L923), [`ui/dr-ui/src/develop/session.rs:105`](../../ui/dr-ui/src/develop/session.rs#L105), [`ui/dr-ui/src/develop_ui.rs:646`](../../ui/dr-ui/src/develop_ui.rs#L646), [`ui/dr-ui/src/develop_ui.rs:705`](../../ui/dr-ui/src/develop_ui.rs#L705), [`ui/dr-ui/src/develop_ui.rs:777`](../../ui/dr-ui/src/develop_ui.rs#L777), [`ui/dr-ui/src/lib.rs:2197`](../../ui/dr-ui/src/lib.rs#L2197), [`ui/dr-ui/src/lib.rs:2274`](../../ui/dr-ui/src/lib.rs#L2274), [`ui/dr-ui/src/lib.rs:2288`](../../ui/dr-ui/src/lib.rs#L2288), [`ui/dr-ui/src/lib.rs:436`](../../ui/dr-ui/src/lib.rs#L436), [`ui/dr-ui/ui/app.slint:195`](../../ui/dr-ui/ui/app.slint#L195), [`ui/dr-ui/ui/app.slint:2296`](../../ui/dr-ui/ui/app.slint#L2296), [`ui/dr-ui/ui/app.slint:2342`](../../ui/dr-ui/ui/app.slint#L2342), [`ui/dr-ui/ui/app.slint:2911`](../../ui/dr-ui/ui/app.slint#L2911), [`ui/dr-ui/ui/history.slint:103`](../../ui/dr-ui/ui/history.slint#L103), [`ui/dr-ui/ui/history.slint:1`](../../ui/dr-ui/ui/history.slint#L1), [`ui/dr-ui/ui/history.slint:227`](../../ui/dr-ui/ui/history.slint#L227), [`ui/dr-ui/ui/history.slint:53`](../../ui/dr-ui/ui/history.slint#L53), [`ui/dr-ui/ui/widgets.slint:72`](../../ui/dr-ui/ui/widgets.slint#L72) | -| FR-DEV-8 | [`core/dr-gpu/src/detail.rs:405`](../../core/dr-gpu/src/detail.rs#L405), [`core/dr-gpu/src/detail.rs:623`](../../core/dr-gpu/src/detail.rs#L623), [`core/dr-gpu/tests/detail_instances.rs:1`](../../core/dr-gpu/tests/detail_instances.rs#L1), [`core/dr-gpu/tests/spot_removal.rs:1`](../../core/dr-gpu/tests/spot_removal.rs#L1), [`core/dr-pipeline/src/detail.rs:410`](../../core/dr-pipeline/src/detail.rs#L410), [`core/dr-pipeline/src/detail.rs:452`](../../core/dr-pipeline/src/detail.rs#L452), [`core/dr-pipeline/src/detail.rs:487`](../../core/dr-pipeline/src/detail.rs#L487), [`core/dr-pipeline/src/detail.rs:573`](../../core/dr-pipeline/src/detail.rs#L573), [`core/dr-pipeline/src/graph.rs:1092`](../../core/dr-pipeline/src/graph.rs#L1092), [`core/dr-pipeline/src/graph.rs:115`](../../core/dr-pipeline/src/graph.rs#L115), [`core/dr-pipeline/src/graph.rs:247`](../../core/dr-pipeline/src/graph.rs#L247), [`core/dr-pipeline/src/operation.rs:330`](../../core/dr-pipeline/src/operation.rs#L330), [`core/dr-pipeline/src/operation.rs:749`](../../core/dr-pipeline/src/operation.rs#L749), [`core/dr-pipeline/src/sidecar.rs:1104`](../../core/dr-pipeline/src/sidecar.rs#L1104), [`core/dr-pipeline/src/sidecar.rs:1158`](../../core/dr-pipeline/src/sidecar.rs#L1158), [`core/dr-pipeline/src/sidecar.rs:1188`](../../core/dr-pipeline/src/sidecar.rs#L1188), [`core/dr-pipeline/src/sidecar.rs:233`](../../core/dr-pipeline/src/sidecar.rs#L233), [`core/dr-pipeline/src/sidecar.rs:410`](../../core/dr-pipeline/src/sidecar.rs#L410), [`core/dr-pipeline/src/sidecar.rs:910`](../../core/dr-pipeline/src/sidecar.rs#L910), [`core/dr-pipeline/src/spot.rs:115`](../../core/dr-pipeline/src/spot.rs#L115), [`core/dr-pipeline/src/spot.rs:151`](../../core/dr-pipeline/src/spot.rs#L151), [`core/dr-pipeline/src/spot.rs:1`](../../core/dr-pipeline/src/spot.rs#L1), [`core/dr-pipeline/src/spot.rs:207`](../../core/dr-pipeline/src/spot.rs#L207), [`core/dr-pipeline/src/spot.rs:387`](../../core/dr-pipeline/src/spot.rs#L387), [`core/dr-pipeline/src/spot.rs:472`](../../core/dr-pipeline/src/spot.rs#L472), [`core/dr-pipeline/src/spot.rs:582`](../../core/dr-pipeline/src/spot.rs#L582), [`core/dr-pipeline/src/spot.rs:673`](../../core/dr-pipeline/src/spot.rs#L673), [`core/dr-pipeline/src/state.rs:103`](../../core/dr-pipeline/src/state.rs#L103), [`core/dr-pipeline/tests/spot_sidecar.rs:1`](../../core/dr-pipeline/tests/spot_sidecar.rs#L1), [`core/dr-pipeline/tests/spots.rs:1`](../../core/dr-pipeline/tests/spots.rs#L1), [`ui/dr-ui/src/develop/repairs.rs:114`](../../ui/dr-ui/src/develop/repairs.rs#L114), [`ui/dr-ui/src/develop/repairs.rs:11`](../../ui/dr-ui/src/develop/repairs.rs#L11), [`ui/dr-ui/src/develop/repairs.rs:197`](../../ui/dr-ui/src/develop/repairs.rs#L197), [`ui/dr-ui/src/develop/repairs.rs:211`](../../ui/dr-ui/src/develop/repairs.rs#L211), [`ui/dr-ui/src/develop/repairs.rs:49`](../../ui/dr-ui/src/develop/repairs.rs#L49), [`ui/dr-ui/src/develop/session.rs:216`](../../ui/dr-ui/src/develop/session.rs#L216), [`ui/dr-ui/src/develop_ui.rs:932`](../../ui/dr-ui/src/develop_ui.rs#L932), [`ui/dr-ui/src/labels.rs:80`](../../ui/dr-ui/src/labels.rs#L80), [`ui/dr-ui/src/lib.rs:2232`](../../ui/dr-ui/src/lib.rs#L2232), [`ui/dr-ui/src/lib.rs:479`](../../ui/dr-ui/src/lib.rs#L479), [`ui/dr-ui/src/spots_ui.rs:19`](../../ui/dr-ui/src/spots_ui.rs#L19), [`ui/dr-ui/src/spots_ui.rs:1`](../../ui/dr-ui/src/spots_ui.rs#L1), [`ui/dr-ui/src/spots_ui.rs:265`](../../ui/dr-ui/src/spots_ui.rs#L265), [`ui/dr-ui/ui/app.slint:2149`](../../ui/dr-ui/ui/app.slint#L2149), [`ui/dr-ui/ui/app.slint:2392`](../../ui/dr-ui/ui/app.slint#L2392), [`ui/dr-ui/ui/app.slint:3256`](../../ui/dr-ui/ui/app.slint#L3256), [`ui/dr-ui/ui/icons.slint:378`](../../ui/dr-ui/ui/icons.slint#L378), [`ui/dr-ui/ui/session.slint:102`](../../ui/dr-ui/ui/session.slint#L102), [`ui/dr-ui/ui/session.slint:52`](../../ui/dr-ui/ui/session.slint#L52), [`ui/dr-ui/ui/spots.slint:191`](../../ui/dr-ui/ui/spots.slint#L191), [`ui/dr-ui/ui/spots.slint:49`](../../ui/dr-ui/ui/spots.slint#L49), [`ui/dr-ui/ui/spots.slint:6`](../../ui/dr-ui/ui/spots.slint#L6), [`ui/dr-ui/ui/spots.slint:91`](../../ui/dr-ui/ui/spots.slint#L91) | +| FR-DEV-8 | [`core/dr-gpu/src/detail.rs:405`](../../core/dr-gpu/src/detail.rs#L405), [`core/dr-gpu/src/detail.rs:623`](../../core/dr-gpu/src/detail.rs#L623), [`core/dr-gpu/tests/detail_instances.rs:1`](../../core/dr-gpu/tests/detail_instances.rs#L1), [`core/dr-gpu/tests/spot_removal.rs:1`](../../core/dr-gpu/tests/spot_removal.rs#L1), [`core/dr-pipeline/src/detail.rs:410`](../../core/dr-pipeline/src/detail.rs#L410), [`core/dr-pipeline/src/detail.rs:452`](../../core/dr-pipeline/src/detail.rs#L452), [`core/dr-pipeline/src/detail.rs:487`](../../core/dr-pipeline/src/detail.rs#L487), [`core/dr-pipeline/src/detail.rs:573`](../../core/dr-pipeline/src/detail.rs#L573), [`core/dr-pipeline/src/graph.rs:1092`](../../core/dr-pipeline/src/graph.rs#L1092), [`core/dr-pipeline/src/graph.rs:115`](../../core/dr-pipeline/src/graph.rs#L115), [`core/dr-pipeline/src/graph.rs:247`](../../core/dr-pipeline/src/graph.rs#L247), [`core/dr-pipeline/src/operation.rs:330`](../../core/dr-pipeline/src/operation.rs#L330), [`core/dr-pipeline/src/operation.rs:749`](../../core/dr-pipeline/src/operation.rs#L749), [`core/dr-pipeline/src/sidecar.rs:1104`](../../core/dr-pipeline/src/sidecar.rs#L1104), [`core/dr-pipeline/src/sidecar.rs:1158`](../../core/dr-pipeline/src/sidecar.rs#L1158), [`core/dr-pipeline/src/sidecar.rs:1188`](../../core/dr-pipeline/src/sidecar.rs#L1188), [`core/dr-pipeline/src/sidecar.rs:233`](../../core/dr-pipeline/src/sidecar.rs#L233), [`core/dr-pipeline/src/sidecar.rs:410`](../../core/dr-pipeline/src/sidecar.rs#L410), [`core/dr-pipeline/src/sidecar.rs:910`](../../core/dr-pipeline/src/sidecar.rs#L910), [`core/dr-pipeline/src/spot.rs:115`](../../core/dr-pipeline/src/spot.rs#L115), [`core/dr-pipeline/src/spot.rs:151`](../../core/dr-pipeline/src/spot.rs#L151), [`core/dr-pipeline/src/spot.rs:1`](../../core/dr-pipeline/src/spot.rs#L1), [`core/dr-pipeline/src/spot.rs:207`](../../core/dr-pipeline/src/spot.rs#L207), [`core/dr-pipeline/src/spot.rs:387`](../../core/dr-pipeline/src/spot.rs#L387), [`core/dr-pipeline/src/spot.rs:472`](../../core/dr-pipeline/src/spot.rs#L472), [`core/dr-pipeline/src/spot.rs:582`](../../core/dr-pipeline/src/spot.rs#L582), [`core/dr-pipeline/src/spot.rs:673`](../../core/dr-pipeline/src/spot.rs#L673), [`core/dr-pipeline/src/state.rs:103`](../../core/dr-pipeline/src/state.rs#L103), [`core/dr-pipeline/tests/spot_sidecar.rs:1`](../../core/dr-pipeline/tests/spot_sidecar.rs#L1), [`core/dr-pipeline/tests/spots.rs:1`](../../core/dr-pipeline/tests/spots.rs#L1), [`ui/dr-ui/src/develop/repairs.rs:114`](../../ui/dr-ui/src/develop/repairs.rs#L114), [`ui/dr-ui/src/develop/repairs.rs:11`](../../ui/dr-ui/src/develop/repairs.rs#L11), [`ui/dr-ui/src/develop/repairs.rs:197`](../../ui/dr-ui/src/develop/repairs.rs#L197), [`ui/dr-ui/src/develop/repairs.rs:211`](../../ui/dr-ui/src/develop/repairs.rs#L211), [`ui/dr-ui/src/develop/repairs.rs:49`](../../ui/dr-ui/src/develop/repairs.rs#L49), [`ui/dr-ui/src/develop/session.rs:216`](../../ui/dr-ui/src/develop/session.rs#L216), [`ui/dr-ui/src/develop_ui.rs:932`](../../ui/dr-ui/src/develop_ui.rs#L932), [`ui/dr-ui/src/labels.rs:80`](../../ui/dr-ui/src/labels.rs#L80), [`ui/dr-ui/src/lib.rs:2232`](../../ui/dr-ui/src/lib.rs#L2232), [`ui/dr-ui/src/lib.rs:479`](../../ui/dr-ui/src/lib.rs#L479), [`ui/dr-ui/src/spots_ui.rs:19`](../../ui/dr-ui/src/spots_ui.rs#L19), [`ui/dr-ui/src/spots_ui.rs:1`](../../ui/dr-ui/src/spots_ui.rs#L1), [`ui/dr-ui/src/spots_ui.rs:265`](../../ui/dr-ui/src/spots_ui.rs#L265), [`ui/dr-ui/ui/app.slint:2149`](../../ui/dr-ui/ui/app.slint#L2149), [`ui/dr-ui/ui/app.slint:2392`](../../ui/dr-ui/ui/app.slint#L2392), [`ui/dr-ui/ui/app.slint:3260`](../../ui/dr-ui/ui/app.slint#L3260), [`ui/dr-ui/ui/icons.slint:378`](../../ui/dr-ui/ui/icons.slint#L378), [`ui/dr-ui/ui/session.slint:102`](../../ui/dr-ui/ui/session.slint#L102), [`ui/dr-ui/ui/session.slint:52`](../../ui/dr-ui/ui/session.slint#L52), [`ui/dr-ui/ui/spots.slint:191`](../../ui/dr-ui/ui/spots.slint#L191), [`ui/dr-ui/ui/spots.slint:49`](../../ui/dr-ui/ui/spots.slint#L49), [`ui/dr-ui/ui/spots.slint:6`](../../ui/dr-ui/ui/spots.slint#L6), [`ui/dr-ui/ui/spots.slint:91`](../../ui/dr-ui/ui/spots.slint#L91) | | FR-DSP-1 | [`core/dr-gpu/src/adjust.rs:1039`](../../core/dr-gpu/src/adjust.rs#L1039), [`core/dr-gpu/src/adjust.rs:2698`](../../core/dr-gpu/src/adjust.rs#L2698), [`core/dr-gpu/src/adjust.rs:2775`](../../core/dr-gpu/src/adjust.rs#L2775), [`core/dr-gpu/src/adjust.rs:2860`](../../core/dr-gpu/src/adjust.rs#L2860), [`core/dr-gpu/src/adjust.rs:54`](../../core/dr-gpu/src/adjust.rs#L54), [`core/dr-gpu/src/lib.rs:174`](../../core/dr-gpu/src/lib.rs#L174), [`core/dr-gpu/src/lib.rs:194`](../../core/dr-gpu/src/lib.rs#L194), [`core/dr-gpu/src/lib.rs:72`](../../core/dr-gpu/src/lib.rs#L72), [`core/dr-gpu/src/lib.rs:95`](../../core/dr-gpu/src/lib.rs#L95), [`core/dr-gpu/tests/capture_sharpen.rs:200`](../../core/dr-gpu/tests/capture_sharpen.rs#L200), [`core/dr-gpu/tests/detail_stage.rs:328`](../../core/dr-gpu/tests/detail_stage.rs#L328), [`core/dr-gpu/tests/local_contrast.rs:264`](../../core/dr-gpu/tests/local_contrast.rs#L264), [`core/dr-gpu/tests/noise_reduction.rs:378`](../../core/dr-gpu/tests/noise_reduction.rs#L378), [`core/dr-pipeline/src/detail.rs:136`](../../core/dr-pipeline/src/detail.rs#L136), [`core/dr-pipeline/src/detail.rs:542`](../../core/dr-pipeline/src/detail.rs#L542), [`core/dr-pipeline/src/graph.rs:922`](../../core/dr-pipeline/src/graph.rs#L922), [`core/dr-pipeline/src/graph.rs:952`](../../core/dr-pipeline/src/graph.rs#L952), [`core/dr-pipeline/src/ops/capture_sharpen.rs:1`](../../core/dr-pipeline/src/ops/capture_sharpen.rs#L1), [`core/dr-pipeline/src/ops/capture_sharpen.rs:659`](../../core/dr-pipeline/src/ops/capture_sharpen.rs#L659), [`core/dr-pipeline/src/ops/dehaze.rs:1`](../../core/dr-pipeline/src/ops/dehaze.rs#L1), [`core/dr-pipeline/src/ops/dehaze.rs:592`](../../core/dr-pipeline/src/ops/dehaze.rs#L592), [`core/dr-pipeline/src/ops/local_contrast.rs:1`](../../core/dr-pipeline/src/ops/local_contrast.rs#L1), [`core/dr-pipeline/src/ops/local_contrast.rs:971`](../../core/dr-pipeline/src/ops/local_contrast.rs#L971), [`core/dr-pipeline/src/ops/noise_reduction.rs:700`](../../core/dr-pipeline/src/ops/noise_reduction.rs#L700), [`core/dr-pipeline/src/spot.rs:673`](../../core/dr-pipeline/src/spot.rs#L673), [`ui/dr-ui/src/develop/framing.rs:594`](../../ui/dr-ui/src/develop/framing.rs#L594), [`ui/dr-ui/src/develop/mod.rs:55`](../../ui/dr-ui/src/develop/mod.rs#L55), [`ui/dr-ui/src/develop/render.rs:1014`](../../ui/dr-ui/src/develop/render.rs#L1014), [`ui/dr-ui/src/develop/render.rs:1152`](../../ui/dr-ui/src/develop/render.rs#L1152), [`ui/dr-ui/src/develop/render.rs:217`](../../ui/dr-ui/src/develop/render.rs#L217), [`ui/dr-ui/src/develop/render.rs:79`](../../ui/dr-ui/src/develop/render.rs#L79), [`ui/dr-ui/src/develop/render.rs:980`](../../ui/dr-ui/src/develop/render.rs#L980), [`ui/dr-ui/src/lib.rs:1060`](../../ui/dr-ui/src/lib.rs#L1060), [`ui/dr-ui/src/lib.rs:110`](../../ui/dr-ui/src/lib.rs#L110) | | FR-DSP-3 | [`core/dr-gpu/tests/frame_budget.rs:101`](../../core/dr-gpu/tests/frame_budget.rs#L101), [`core/dr-gpu/tests/local_contrast.rs:329`](../../core/dr-gpu/tests/local_contrast.rs#L329), [`core/dr-pipeline/src/ops/local_contrast.rs:447`](../../core/dr-pipeline/src/ops/local_contrast.rs#L447) | | FR-DSP-4 | [`ui/dr-ui/src/lib.rs:2297`](../../ui/dr-ui/src/lib.rs#L2297), [`ui/dr-ui/src/lib.rs:2476`](../../ui/dr-ui/src/lib.rs#L2476), [`ui/dr-ui/src/refine.rs:1`](../../ui/dr-ui/src/refine.rs#L1), [`ui/dr-ui/ui/app.slint:109`](../../ui/dr-ui/ui/app.slint#L109), [`ui/dr-ui/ui/app.slint:1798`](../../ui/dr-ui/ui/app.slint#L1798), [`ui/dr-ui/ui/histogram.slint:182`](../../ui/dr-ui/ui/histogram.slint#L182), [`ui/dr-ui/ui/histogram.slint:250`](../../ui/dr-ui/ui/histogram.slint#L250) | @@ -101,7 +101,7 @@ _None._ | FR-EXP-4 | [`core/dr-export/src/lib.rs:1`](../../core/dr-export/src/lib.rs#L1), [`core/dr-export/src/sharpen.rs:1`](../../core/dr-export/src/sharpen.rs#L1), [`core/dr-export/src/size.rs:1`](../../core/dr-export/src/size.rs#L1), [`ui/dr-ui/src/settings_ui.rs:1`](../../ui/dr-ui/src/settings_ui.rs#L1) | | FR-EXP-5 | [`ui/dr-ui/src/settings_store.rs:1`](../../ui/dr-ui/src/settings_store.rs#L1) | | FR-EXP-6 | [`core/dr-export/src/lib.rs:1`](../../core/dr-export/src/lib.rs#L1), [`core/dr-export/src/name.rs:1`](../../core/dr-export/src/name.rs#L1), [`core/dr-types/src/settings.rs:1`](../../core/dr-types/src/settings.rs#L1), [`ui/dr-ui/src/export.rs:1`](../../ui/dr-ui/src/export.rs#L1), [`ui/dr-ui/src/lib.rs:640`](../../ui/dr-ui/src/lib.rs#L640), [`ui/dr-ui/src/settings_ui.rs:1`](../../ui/dr-ui/src/settings_ui.rs#L1), [`ui/dr-ui/src/settings_ui.rs:49`](../../ui/dr-ui/src/settings_ui.rs#L49), [`ui/dr-ui/src/settings_ui.rs:941`](../../ui/dr-ui/src/settings_ui.rs#L941) | -| FR-EXP-7 | [`ui/dr-ui/src/activity.rs:83`](../../ui/dr-ui/src/activity.rs#L83), [`ui/dr-ui/src/develop_ui.rs:309`](../../ui/dr-ui/src/develop_ui.rs#L309), [`ui/dr-ui/src/export.rs:1024`](../../ui/dr-ui/src/export.rs#L1024), [`ui/dr-ui/src/export.rs:1`](../../ui/dr-ui/src/export.rs#L1), [`ui/dr-ui/src/lib.rs:287`](../../ui/dr-ui/src/lib.rs#L287), [`ui/dr-ui/src/lib.rs:640`](../../ui/dr-ui/src/lib.rs#L640), [`ui/dr-ui/src/lib.rs:686`](../../ui/dr-ui/src/lib.rs#L686), [`ui/dr-ui/src/lib.rs:714`](../../ui/dr-ui/src/lib.rs#L714), [`ui/dr-ui/src/library_ui/controller.rs:1022`](../../ui/dr-ui/src/library_ui/controller.rs#L1022), [`ui/dr-ui/src/library_ui/controller.rs:1034`](../../ui/dr-ui/src/library_ui/controller.rs#L1034), [`ui/dr-ui/src/library_ui/controller.rs:1046`](../../ui/dr-ui/src/library_ui/controller.rs#L1046), [`ui/dr-ui/src/library_ui/controller.rs:734`](../../ui/dr-ui/src/library_ui/controller.rs#L734), [`ui/dr-ui/src/library_ui/controller.rs:834`](../../ui/dr-ui/src/library_ui/controller.rs#L834), [`ui/dr-ui/src/library_ui/controller.rs:891`](../../ui/dr-ui/src/library_ui/controller.rs#L891), [`ui/dr-ui/src/library_ui/sync.rs:100`](../../ui/dr-ui/src/library_ui/sync.rs#L100), [`ui/dr-ui/src/settings_ui.rs:502`](../../ui/dr-ui/src/settings_ui.rs#L502), [`ui/dr-ui/ui/app.slint:1055`](../../ui/dr-ui/ui/app.slint#L1055), [`ui/dr-ui/ui/app.slint:1481`](../../ui/dr-ui/ui/app.slint#L1481), [`ui/dr-ui/ui/app.slint:2485`](../../ui/dr-ui/ui/app.slint#L2485), [`ui/dr-ui/ui/app.slint:3375`](../../ui/dr-ui/ui/app.slint#L3375), [`ui/dr-ui/ui/app.slint:652`](../../ui/dr-ui/ui/app.slint#L652), [`ui/dr-ui/ui/app.slint:669`](../../ui/dr-ui/ui/app.slint#L669), [`ui/dr-ui/ui/app.slint:905`](../../ui/dr-ui/ui/app.slint#L905), [`ui/dr-ui/ui/export.slint:1`](../../ui/dr-ui/ui/export.slint#L1), [`ui/dr-ui/ui/export.slint:384`](../../ui/dr-ui/ui/export.slint#L384), [`ui/dr-ui/ui/library.slint:2004`](../../ui/dr-ui/ui/library.slint#L2004), [`ui/dr-ui/ui/library.slint:2012`](../../ui/dr-ui/ui/library.slint#L2012), [`ui/dr-ui/ui/library.slint:3171`](../../ui/dr-ui/ui/library.slint#L3171), [`ui/dr-ui/ui/library.slint:5181`](../../ui/dr-ui/ui/library.slint#L5181) | +| FR-EXP-7 | [`ui/dr-ui/src/activity.rs:83`](../../ui/dr-ui/src/activity.rs#L83), [`ui/dr-ui/src/develop_ui.rs:309`](../../ui/dr-ui/src/develop_ui.rs#L309), [`ui/dr-ui/src/export.rs:1024`](../../ui/dr-ui/src/export.rs#L1024), [`ui/dr-ui/src/export.rs:1`](../../ui/dr-ui/src/export.rs#L1), [`ui/dr-ui/src/lib.rs:287`](../../ui/dr-ui/src/lib.rs#L287), [`ui/dr-ui/src/lib.rs:640`](../../ui/dr-ui/src/lib.rs#L640), [`ui/dr-ui/src/lib.rs:686`](../../ui/dr-ui/src/lib.rs#L686), [`ui/dr-ui/src/lib.rs:714`](../../ui/dr-ui/src/lib.rs#L714), [`ui/dr-ui/src/library_ui/controller.rs:1022`](../../ui/dr-ui/src/library_ui/controller.rs#L1022), [`ui/dr-ui/src/library_ui/controller.rs:1034`](../../ui/dr-ui/src/library_ui/controller.rs#L1034), [`ui/dr-ui/src/library_ui/controller.rs:1046`](../../ui/dr-ui/src/library_ui/controller.rs#L1046), [`ui/dr-ui/src/library_ui/controller.rs:734`](../../ui/dr-ui/src/library_ui/controller.rs#L734), [`ui/dr-ui/src/library_ui/controller.rs:834`](../../ui/dr-ui/src/library_ui/controller.rs#L834), [`ui/dr-ui/src/library_ui/controller.rs:891`](../../ui/dr-ui/src/library_ui/controller.rs#L891), [`ui/dr-ui/src/library_ui/sync.rs:100`](../../ui/dr-ui/src/library_ui/sync.rs#L100), [`ui/dr-ui/src/settings_ui.rs:502`](../../ui/dr-ui/src/settings_ui.rs#L502), [`ui/dr-ui/ui/app.slint:1055`](../../ui/dr-ui/ui/app.slint#L1055), [`ui/dr-ui/ui/app.slint:1481`](../../ui/dr-ui/ui/app.slint#L1481), [`ui/dr-ui/ui/app.slint:2485`](../../ui/dr-ui/ui/app.slint#L2485), [`ui/dr-ui/ui/app.slint:3392`](../../ui/dr-ui/ui/app.slint#L3392), [`ui/dr-ui/ui/app.slint:652`](../../ui/dr-ui/ui/app.slint#L652), [`ui/dr-ui/ui/app.slint:669`](../../ui/dr-ui/ui/app.slint#L669), [`ui/dr-ui/ui/app.slint:905`](../../ui/dr-ui/ui/app.slint#L905), [`ui/dr-ui/ui/export.slint:1`](../../ui/dr-ui/ui/export.slint#L1), [`ui/dr-ui/ui/export.slint:384`](../../ui/dr-ui/ui/export.slint#L384), [`ui/dr-ui/ui/library.slint:2004`](../../ui/dr-ui/ui/library.slint#L2004), [`ui/dr-ui/ui/library.slint:2012`](../../ui/dr-ui/ui/library.slint#L2012), [`ui/dr-ui/ui/library.slint:3171`](../../ui/dr-ui/ui/library.slint#L3171), [`ui/dr-ui/ui/library.slint:5181`](../../ui/dr-ui/ui/library.slint#L5181) | | FR-EXP-8 | [`core/dr-decode/src/lib.rs:372`](../../core/dr-decode/src/lib.rs#L372), [`core/dr-decode/src/lib.rs:396`](../../core/dr-decode/src/lib.rs#L396), [`core/dr-decode/src/lib.rs:410`](../../core/dr-decode/src/lib.rs#L410), [`core/dr-decode/src/lib.rs:77`](../../core/dr-decode/src/lib.rs#L77), [`core/dr-decode/src/lib.rs:85`](../../core/dr-decode/src/lib.rs#L85), [`core/dr-decode/src/lib.rs:88`](../../core/dr-decode/src/lib.rs#L88), [`core/dr-decode/src/locate.rs:1233`](../../core/dr-decode/src/locate.rs#L1233), [`core/dr-decode/src/locate.rs:1292`](../../core/dr-decode/src/locate.rs#L1292), [`core/dr-decode/src/locate.rs:359`](../../core/dr-decode/src/locate.rs#L359), [`core/dr-decode/src/locate.rs:556`](../../core/dr-decode/src/locate.rs#L556), [`core/dr-decode/src/locate.rs:640`](../../core/dr-decode/src/locate.rs#L640), [`core/dr-decode/src/locate.rs:653`](../../core/dr-decode/src/locate.rs#L653), [`core/dr-decode/src/locate.rs:736`](../../core/dr-decode/src/locate.rs#L736), [`core/dr-export/examples/export.rs:99`](../../core/dr-export/examples/export.rs#L99), [`core/dr-export/src/encode.rs:117`](../../core/dr-export/src/encode.rs#L117), [`core/dr-export/src/encode.rs:161`](../../core/dr-export/src/encode.rs#L161), [`core/dr-export/src/encode.rs:1`](../../core/dr-export/src/encode.rs#L1), [`core/dr-export/src/encode.rs:206`](../../core/dr-export/src/encode.rs#L206), [`core/dr-export/src/encode.rs:235`](../../core/dr-export/src/encode.rs#L235), [`core/dr-export/src/encode.rs:311`](../../core/dr-export/src/encode.rs#L311), [`core/dr-export/src/encode.rs:325`](../../core/dr-export/src/encode.rs#L325), [`core/dr-export/src/encode.rs:408`](../../core/dr-export/src/encode.rs#L408), [`core/dr-export/src/encode.rs:456`](../../core/dr-export/src/encode.rs#L456), [`core/dr-export/src/encode.rs:70`](../../core/dr-export/src/encode.rs#L70), [`core/dr-export/src/encode.rs:795`](../../core/dr-export/src/encode.rs#L795), [`core/dr-export/src/encode.rs:809`](../../core/dr-export/src/encode.rs#L809), [`core/dr-export/src/encode.rs:850`](../../core/dr-export/src/encode.rs#L850), [`core/dr-export/src/encode.rs:898`](../../core/dr-export/src/encode.rs#L898), [`core/dr-export/src/exif.rs:1`](../../core/dr-export/src/exif.rs#L1), [`core/dr-export/src/lib.rs:140`](../../core/dr-export/src/lib.rs#L140), [`core/dr-export/src/metadata.rs:1`](../../core/dr-export/src/metadata.rs#L1), [`core/dr-export/src/metadata.rs:41`](../../core/dr-export/src/metadata.rs#L41), [`core/dr-export/src/metadata.rs:74`](../../core/dr-export/src/metadata.rs#L74), [`core/dr-types/src/lib.rs:655`](../../core/dr-types/src/lib.rs#L655), [`core/dr-types/src/settings.rs:671`](../../core/dr-types/src/settings.rs#L671), [`ui/dr-ui/src/decoder_seam.rs:256`](../../ui/dr-ui/src/decoder_seam.rs#L256), [`ui/dr-ui/src/develop/session.rs:37`](../../ui/dr-ui/src/develop/session.rs#L37), [`ui/dr-ui/src/develop/session.rs:417`](../../ui/dr-ui/src/develop/session.rs#L417), [`ui/dr-ui/src/develop/session.rs:529`](../../ui/dr-ui/src/develop/session.rs#L529), [`ui/dr-ui/src/export.rs:475`](../../ui/dr-ui/src/export.rs#L475), [`ui/dr-ui/src/export.rs:646`](../../ui/dr-ui/src/export.rs#L646), [`ui/dr-ui/src/export.rs:692`](../../ui/dr-ui/src/export.rs#L692), [`ui/dr-ui/src/export.rs:720`](../../ui/dr-ui/src/export.rs#L720), [`ui/dr-ui/src/export.rs:757`](../../ui/dr-ui/src/export.rs#L757), [`ui/dr-ui/src/export.rs:858`](../../ui/dr-ui/src/export.rs#L858), [`ui/dr-ui/src/export.rs:876`](../../ui/dr-ui/src/export.rs#L876), [`ui/dr-ui/src/lib.rs:287`](../../ui/dr-ui/src/lib.rs#L287), [`ui/dr-ui/src/lib.rs:311`](../../ui/dr-ui/src/lib.rs#L311), [`ui/dr-ui/src/lib.rs:672`](../../ui/dr-ui/src/lib.rs#L672), [`ui/dr-ui/src/settings_ui.rs:1`](../../ui/dr-ui/src/settings_ui.rs#L1) | | FR-EXP-9 | [`core/dr-decode/src/lib.rs:552`](../../core/dr-decode/src/lib.rs#L552), [`core/dr-export/src/lib.rs:132`](../../core/dr-export/src/lib.rs#L132), [`core/dr-export/src/lib.rs:1`](../../core/dr-export/src/lib.rs#L1), [`core/dr-gpu/src/adjust.rs:1400`](../../core/dr-gpu/src/adjust.rs#L1400), [`ui/dr-ui/examples/face_native.rs:1`](../../ui/dr-ui/examples/face_native.rs#L1), [`ui/dr-ui/src/decoder_seam.rs:256`](../../ui/dr-ui/src/decoder_seam.rs#L256), [`ui/dr-ui/src/develop/mask_ops.rs:1130`](../../ui/dr-ui/src/develop/mask_ops.rs#L1130), [`ui/dr-ui/src/develop/render.rs:586`](../../ui/dr-ui/src/develop/render.rs#L586), [`ui/dr-ui/src/develop/render.rs:624`](../../ui/dr-ui/src/develop/render.rs#L624), [`ui/dr-ui/src/lib.rs:640`](../../ui/dr-ui/src/lib.rs#L640), [`ui/dr-ui/src/library/sweep.rs:510`](../../ui/dr-ui/src/library/sweep.rs#L510), [`ui/dr-ui/tests/export_ignores_the_viewport.rs:1`](../../ui/dr-ui/tests/export_ignores_the_viewport.rs#L1) | | FR-INF-1 | [`ui/dr-ui/src/lib.rs:1436`](../../ui/dr-ui/src/lib.rs#L1436), [`ui/dr-ui/ui/settings.slint:821`](../../ui/dr-ui/ui/settings.slint#L821) | @@ -124,7 +124,7 @@ _None._ | FR-NC-4 | [`core/dr-sync-folder/src/lib.rs:197`](../../core/dr-sync-folder/src/lib.rs#L197), [`core/dr-sync-nextcloud/src/propfind.rs:103`](../../core/dr-sync-nextcloud/src/propfind.rs#L103), [`core/dr-sync-nextcloud/src/propfind.rs:51`](../../core/dr-sync-nextcloud/src/propfind.rs#L51), [`core/dr-sync/src/capability.rs:6`](../../core/dr-sync/src/capability.rs#L6), [`core/dr-sync/src/lib.rs:218`](../../core/dr-sync/src/lib.rs#L218), [`core/dr-sync/src/scan.rs:129`](../../core/dr-sync/src/scan.rs#L129), [`ui/dr-ui/src/launch.rs:61`](../../ui/dr-ui/src/launch.rs#L61) | | FR-NC-5 | [`core/dr-sync-nextcloud/src/propfind.rs:51`](../../core/dr-sync-nextcloud/src/propfind.rs#L51), [`ui/dr-ui/src/import.rs:504`](../../ui/dr-ui/src/import.rs#L504) | | FR-NC-6 | [`ui/dr-ui/src/activity.rs:1`](../../ui/dr-ui/src/activity.rs#L1) | -| FR-NC-6a | [`core/dr-catalog/src/cache.rs:1`](../../core/dr-catalog/src/cache.rs#L1), [`core/dr-catalog/src/cache.rs:225`](../../core/dr-catalog/src/cache.rs#L225), [`core/dr-catalog/src/schema.rs:1209`](../../core/dr-catalog/src/schema.rs#L1209), [`core/dr-catalog/src/schema.rs:1694`](../../core/dr-catalog/src/schema.rs#L1694), [`core/dr-sync-folder/src/borrow.rs:1`](../../core/dr-sync-folder/src/borrow.rs#L1), [`core/dr-types/src/selector.rs:1`](../../core/dr-types/src/selector.rs#L1), [`core/dr-types/src/settings.rs:1`](../../core/dr-types/src/settings.rs#L1), [`ui/dr-ui/src/collections_ui/rename_menu.rs:75`](../../ui/dr-ui/src/collections_ui/rename_menu.rs#L75), [`ui/dr-ui/src/collections_ui/tree_sync.rs:111`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L111), [`ui/dr-ui/src/collections_ui/tree_sync.rs:387`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L387), [`ui/dr-ui/src/collections_ui/tree_sync.rs:38`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L38), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:560`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L560), [`ui/dr-ui/src/lib.rs:1572`](../../ui/dr-ui/src/lib.rs#L1572), [`ui/dr-ui/src/lib.rs:2740`](../../ui/dr-ui/src/lib.rs#L2740), [`ui/dr-ui/src/lib.rs:2811`](../../ui/dr-ui/src/lib.rs#L2811), [`ui/dr-ui/src/lib.rs:3029`](../../ui/dr-ui/src/lib.rs#L3029), [`ui/dr-ui/src/lib.rs:3030`](../../ui/dr-ui/src/lib.rs#L3030), [`ui/dr-ui/src/lib.rs:3069`](../../ui/dr-ui/src/lib.rs#L3069), [`ui/dr-ui/src/library/thumbnails_fetch.rs:118`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L118), [`ui/dr-ui/src/library/thumbnails_fetch.rs:393`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L393), [`ui/dr-ui/src/library/thumbnails_fetch.rs:574`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L574), [`ui/dr-ui/src/library/thumbnails_fetch.rs:718`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L718), [`ui/dr-ui/src/library/thumbnails_fetch.rs:733`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L733), [`ui/dr-ui/src/library/thumbnails_fetch.rs:95`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L95), [`ui/dr-ui/src/library_ui/controller.rs:355`](../../ui/dr-ui/src/library_ui/controller.rs#L355), [`ui/dr-ui/src/library_ui/controller.rs:366`](../../ui/dr-ui/src/library_ui/controller.rs#L366), [`ui/dr-ui/src/library_ui/controller.rs:381`](../../ui/dr-ui/src/library_ui/controller.rs#L381), [`ui/dr-ui/src/library_ui/controller.rs:390`](../../ui/dr-ui/src/library_ui/controller.rs#L390), [`ui/dr-ui/src/library_ui/controller.rs:398`](../../ui/dr-ui/src/library_ui/controller.rs#L398), [`ui/dr-ui/src/library_ui/controller.rs:530`](../../ui/dr-ui/src/library_ui/controller.rs#L530), [`ui/dr-ui/src/library_ui/controller.rs:540`](../../ui/dr-ui/src/library_ui/controller.rs#L540), [`ui/dr-ui/src/library_ui/controller.rs:555`](../../ui/dr-ui/src/library_ui/controller.rs#L555), [`ui/dr-ui/src/library_ui/controller.rs:602`](../../ui/dr-ui/src/library_ui/controller.rs#L602), [`ui/dr-ui/src/library_ui/controller.rs:617`](../../ui/dr-ui/src/library_ui/controller.rs#L617), [`ui/dr-ui/src/library_ui/controller.rs:691`](../../ui/dr-ui/src/library_ui/controller.rs#L691), [`ui/dr-ui/src/library_ui/controller.rs:722`](../../ui/dr-ui/src/library_ui/controller.rs#L722), [`ui/dr-ui/src/library_ui/controller.rs:734`](../../ui/dr-ui/src/library_ui/controller.rs#L734), [`ui/dr-ui/src/library_ui/filter_bar.rs:480`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L480), [`ui/dr-ui/src/library_ui/filter_bar.rs:500`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L500), [`ui/dr-ui/src/library_ui/offline.rs:196`](../../ui/dr-ui/src/library_ui/offline.rs#L196), [`ui/dr-ui/src/library_ui/offline.rs:20`](../../ui/dr-ui/src/library_ui/offline.rs#L20), [`ui/dr-ui/src/library_ui/offline.rs:261`](../../ui/dr-ui/src/library_ui/offline.rs#L261), [`ui/dr-ui/src/library_ui/offline.rs:407`](../../ui/dr-ui/src/library_ui/offline.rs#L407), [`ui/dr-ui/src/library_ui/offline.rs:528`](../../ui/dr-ui/src/library_ui/offline.rs#L528), [`ui/dr-ui/src/library_ui/offline.rs:93`](../../ui/dr-ui/src/library_ui/offline.rs#L93), [`ui/dr-ui/src/library_ui/window.rs:331`](../../ui/dr-ui/src/library_ui/window.rs#L331), [`ui/dr-ui/src/settings_store.rs:1`](../../ui/dr-ui/src/settings_store.rs#L1), [`ui/dr-ui/src/settings_ui.rs:157`](../../ui/dr-ui/src/settings_ui.rs#L157), [`ui/dr-ui/src/settings_ui.rs:1`](../../ui/dr-ui/src/settings_ui.rs#L1), [`ui/dr-ui/src/settings_ui.rs:616`](../../ui/dr-ui/src/settings_ui.rs#L616), [`ui/dr-ui/ui/app.slint:1372`](../../ui/dr-ui/ui/app.slint#L1372), [`ui/dr-ui/ui/app.slint:3340`](../../ui/dr-ui/ui/app.slint#L3340), [`ui/dr-ui/ui/app.slint:452`](../../ui/dr-ui/ui/app.slint#L452), [`ui/dr-ui/ui/collections.slint:1110`](../../ui/dr-ui/ui/collections.slint#L1110), [`ui/dr-ui/ui/collections.slint:1121`](../../ui/dr-ui/ui/collections.slint#L1121), [`ui/dr-ui/ui/collections.slint:1200`](../../ui/dr-ui/ui/collections.slint#L1200), [`ui/dr-ui/ui/collections.slint:1301`](../../ui/dr-ui/ui/collections.slint#L1301), [`ui/dr-ui/ui/collections.slint:1309`](../../ui/dr-ui/ui/collections.slint#L1309), [`ui/dr-ui/ui/collections.slint:289`](../../ui/dr-ui/ui/collections.slint#L289), [`ui/dr-ui/ui/collections.slint:446`](../../ui/dr-ui/ui/collections.slint#L446), [`ui/dr-ui/ui/collections.slint:455`](../../ui/dr-ui/ui/collections.slint#L455), [`ui/dr-ui/ui/collections.slint:458`](../../ui/dr-ui/ui/collections.slint#L458), [`ui/dr-ui/ui/collections.slint:504`](../../ui/dr-ui/ui/collections.slint#L504), [`ui/dr-ui/ui/collections.slint:54`](../../ui/dr-ui/ui/collections.slint#L54), [`ui/dr-ui/ui/collections.slint:749`](../../ui/dr-ui/ui/collections.slint#L749), [`ui/dr-ui/ui/collections.slint:93`](../../ui/dr-ui/ui/collections.slint#L93), [`ui/dr-ui/ui/collections.slint:950`](../../ui/dr-ui/ui/collections.slint#L950), [`ui/dr-ui/ui/icons.slint:263`](../../ui/dr-ui/ui/icons.slint#L263), [`ui/dr-ui/ui/settings.slint:121`](../../ui/dr-ui/ui/settings.slint#L121), [`ui/dr-ui/ui/settings.slint:632`](../../ui/dr-ui/ui/settings.slint#L632) | +| FR-NC-6a | [`core/dr-catalog/src/cache.rs:1`](../../core/dr-catalog/src/cache.rs#L1), [`core/dr-catalog/src/cache.rs:225`](../../core/dr-catalog/src/cache.rs#L225), [`core/dr-catalog/src/schema.rs:1209`](../../core/dr-catalog/src/schema.rs#L1209), [`core/dr-catalog/src/schema.rs:1694`](../../core/dr-catalog/src/schema.rs#L1694), [`core/dr-sync-folder/src/borrow.rs:1`](../../core/dr-sync-folder/src/borrow.rs#L1), [`core/dr-types/src/selector.rs:1`](../../core/dr-types/src/selector.rs#L1), [`core/dr-types/src/settings.rs:1`](../../core/dr-types/src/settings.rs#L1), [`ui/dr-ui/src/collections_ui/rename_menu.rs:75`](../../ui/dr-ui/src/collections_ui/rename_menu.rs#L75), [`ui/dr-ui/src/collections_ui/tree_sync.rs:111`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L111), [`ui/dr-ui/src/collections_ui/tree_sync.rs:387`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L387), [`ui/dr-ui/src/collections_ui/tree_sync.rs:38`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L38), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:560`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L560), [`ui/dr-ui/src/lib.rs:1572`](../../ui/dr-ui/src/lib.rs#L1572), [`ui/dr-ui/src/lib.rs:2740`](../../ui/dr-ui/src/lib.rs#L2740), [`ui/dr-ui/src/lib.rs:2811`](../../ui/dr-ui/src/lib.rs#L2811), [`ui/dr-ui/src/lib.rs:3029`](../../ui/dr-ui/src/lib.rs#L3029), [`ui/dr-ui/src/lib.rs:3030`](../../ui/dr-ui/src/lib.rs#L3030), [`ui/dr-ui/src/lib.rs:3069`](../../ui/dr-ui/src/lib.rs#L3069), [`ui/dr-ui/src/library/thumbnails_fetch.rs:118`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L118), [`ui/dr-ui/src/library/thumbnails_fetch.rs:393`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L393), [`ui/dr-ui/src/library/thumbnails_fetch.rs:574`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L574), [`ui/dr-ui/src/library/thumbnails_fetch.rs:718`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L718), [`ui/dr-ui/src/library/thumbnails_fetch.rs:733`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L733), [`ui/dr-ui/src/library/thumbnails_fetch.rs:95`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L95), [`ui/dr-ui/src/library_ui/controller.rs:355`](../../ui/dr-ui/src/library_ui/controller.rs#L355), [`ui/dr-ui/src/library_ui/controller.rs:366`](../../ui/dr-ui/src/library_ui/controller.rs#L366), [`ui/dr-ui/src/library_ui/controller.rs:381`](../../ui/dr-ui/src/library_ui/controller.rs#L381), [`ui/dr-ui/src/library_ui/controller.rs:390`](../../ui/dr-ui/src/library_ui/controller.rs#L390), [`ui/dr-ui/src/library_ui/controller.rs:398`](../../ui/dr-ui/src/library_ui/controller.rs#L398), [`ui/dr-ui/src/library_ui/controller.rs:530`](../../ui/dr-ui/src/library_ui/controller.rs#L530), [`ui/dr-ui/src/library_ui/controller.rs:540`](../../ui/dr-ui/src/library_ui/controller.rs#L540), [`ui/dr-ui/src/library_ui/controller.rs:555`](../../ui/dr-ui/src/library_ui/controller.rs#L555), [`ui/dr-ui/src/library_ui/controller.rs:602`](../../ui/dr-ui/src/library_ui/controller.rs#L602), [`ui/dr-ui/src/library_ui/controller.rs:617`](../../ui/dr-ui/src/library_ui/controller.rs#L617), [`ui/dr-ui/src/library_ui/controller.rs:691`](../../ui/dr-ui/src/library_ui/controller.rs#L691), [`ui/dr-ui/src/library_ui/controller.rs:722`](../../ui/dr-ui/src/library_ui/controller.rs#L722), [`ui/dr-ui/src/library_ui/controller.rs:734`](../../ui/dr-ui/src/library_ui/controller.rs#L734), [`ui/dr-ui/src/library_ui/filter_bar.rs:480`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L480), [`ui/dr-ui/src/library_ui/filter_bar.rs:500`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L500), [`ui/dr-ui/src/library_ui/offline.rs:196`](../../ui/dr-ui/src/library_ui/offline.rs#L196), [`ui/dr-ui/src/library_ui/offline.rs:20`](../../ui/dr-ui/src/library_ui/offline.rs#L20), [`ui/dr-ui/src/library_ui/offline.rs:261`](../../ui/dr-ui/src/library_ui/offline.rs#L261), [`ui/dr-ui/src/library_ui/offline.rs:407`](../../ui/dr-ui/src/library_ui/offline.rs#L407), [`ui/dr-ui/src/library_ui/offline.rs:528`](../../ui/dr-ui/src/library_ui/offline.rs#L528), [`ui/dr-ui/src/library_ui/offline.rs:93`](../../ui/dr-ui/src/library_ui/offline.rs#L93), [`ui/dr-ui/src/library_ui/window.rs:331`](../../ui/dr-ui/src/library_ui/window.rs#L331), [`ui/dr-ui/src/settings_store.rs:1`](../../ui/dr-ui/src/settings_store.rs#L1), [`ui/dr-ui/src/settings_ui.rs:157`](../../ui/dr-ui/src/settings_ui.rs#L157), [`ui/dr-ui/src/settings_ui.rs:1`](../../ui/dr-ui/src/settings_ui.rs#L1), [`ui/dr-ui/src/settings_ui.rs:616`](../../ui/dr-ui/src/settings_ui.rs#L616), [`ui/dr-ui/ui/app.slint:1372`](../../ui/dr-ui/ui/app.slint#L1372), [`ui/dr-ui/ui/app.slint:3357`](../../ui/dr-ui/ui/app.slint#L3357), [`ui/dr-ui/ui/app.slint:452`](../../ui/dr-ui/ui/app.slint#L452), [`ui/dr-ui/ui/collections.slint:1110`](../../ui/dr-ui/ui/collections.slint#L1110), [`ui/dr-ui/ui/collections.slint:1121`](../../ui/dr-ui/ui/collections.slint#L1121), [`ui/dr-ui/ui/collections.slint:1200`](../../ui/dr-ui/ui/collections.slint#L1200), [`ui/dr-ui/ui/collections.slint:1301`](../../ui/dr-ui/ui/collections.slint#L1301), [`ui/dr-ui/ui/collections.slint:1309`](../../ui/dr-ui/ui/collections.slint#L1309), [`ui/dr-ui/ui/collections.slint:289`](../../ui/dr-ui/ui/collections.slint#L289), [`ui/dr-ui/ui/collections.slint:446`](../../ui/dr-ui/ui/collections.slint#L446), [`ui/dr-ui/ui/collections.slint:455`](../../ui/dr-ui/ui/collections.slint#L455), [`ui/dr-ui/ui/collections.slint:458`](../../ui/dr-ui/ui/collections.slint#L458), [`ui/dr-ui/ui/collections.slint:504`](../../ui/dr-ui/ui/collections.slint#L504), [`ui/dr-ui/ui/collections.slint:54`](../../ui/dr-ui/ui/collections.slint#L54), [`ui/dr-ui/ui/collections.slint:749`](../../ui/dr-ui/ui/collections.slint#L749), [`ui/dr-ui/ui/collections.slint:93`](../../ui/dr-ui/ui/collections.slint#L93), [`ui/dr-ui/ui/collections.slint:950`](../../ui/dr-ui/ui/collections.slint#L950), [`ui/dr-ui/ui/icons.slint:263`](../../ui/dr-ui/ui/icons.slint#L263), [`ui/dr-ui/ui/settings.slint:121`](../../ui/dr-ui/ui/settings.slint#L121), [`ui/dr-ui/ui/settings.slint:632`](../../ui/dr-ui/ui/settings.slint#L632) | | FR-NC-6b | [`ui/dr-ui/src/library_ui/offline.rs:261`](../../ui/dr-ui/src/library_ui/offline.rs#L261), [`ui/dr-ui/src/memory.rs:1`](../../ui/dr-ui/src/memory.rs#L1) | | FR-NC-6c | [`core/dr-catalog/src/cache.rs:225`](../../core/dr-catalog/src/cache.rs#L225), [`core/dr-sync-folder/src/borrow.rs:1`](../../core/dr-sync-folder/src/borrow.rs#L1), [`core/dr-sync-folder/src/lib.rs:197`](../../core/dr-sync-folder/src/lib.rs#L197), [`core/dr-sync-folder/src/lib.rs:73`](../../core/dr-sync-folder/src/lib.rs#L73), [`core/dr-sync-folder/src/lib.rs:818`](../../core/dr-sync-folder/src/lib.rs#L818), [`core/dr-sync-folder/src/lib.rs:857`](../../core/dr-sync-folder/src/lib.rs#L857), [`core/dr-sync-folder/src/vfs.rs:1`](../../core/dr-sync-folder/src/vfs.rs#L1), [`core/dr-sync-nextcloud/src/desktop_client.rs:172`](../../core/dr-sync-nextcloud/src/desktop_client.rs#L172), [`core/dr-sync-nextcloud/src/desktop_client.rs:35`](../../core/dr-sync-nextcloud/src/desktop_client.rs#L35), [`core/dr-sync/src/capability.rs:41`](../../core/dr-sync/src/capability.rs#L41), [`core/dr-sync/src/error.rs:39`](../../core/dr-sync/src/error.rs#L39), [`core/dr-sync/src/lib.rs:158`](../../core/dr-sync/src/lib.rs#L158), [`core/dr-sync/src/types.rs:101`](../../core/dr-sync/src/types.rs#L101), [`core/dr-types/src/lib.rs:122`](../../core/dr-types/src/lib.rs#L122), [`core/dr-types/src/lib.rs:204`](../../core/dr-types/src/lib.rs#L204), [`ui/dr-ui/src/activity.rs:1`](../../ui/dr-ui/src/activity.rs#L1), [`ui/dr-ui/src/collections_ui/tree_sync.rs:111`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L111), [`ui/dr-ui/src/collections_ui/tree_sync.rs:387`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L387), [`ui/dr-ui/src/collections_ui/tree_sync.rs:38`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L38), [`ui/dr-ui/src/derived_sync.rs:1053`](../../ui/dr-ui/src/derived_sync.rs#L1053), [`ui/dr-ui/src/derived_sync.rs:652`](../../ui/dr-ui/src/derived_sync.rs#L652), [`ui/dr-ui/src/library/sidecar.rs:536`](../../ui/dr-ui/src/library/sidecar.rs#L536), [`ui/dr-ui/src/library/sweep.rs:685`](../../ui/dr-ui/src/library/sweep.rs#L685), [`ui/dr-ui/src/library/thumbnails_fetch.rs:215`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L215), [`ui/dr-ui/src/library/thumbnails_fetch.rs:305`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L305), [`ui/dr-ui/src/library_ui/offline.rs:20`](../../ui/dr-ui/src/library_ui/offline.rs#L20), [`ui/dr-ui/src/library_ui/offline.rs:310`](../../ui/dr-ui/src/library_ui/offline.rs#L310), [`ui/dr-ui/src/library_ui/offline.rs:93`](../../ui/dr-ui/src/library_ui/offline.rs#L93), [`ui/dr-ui/src/remote.rs:40`](../../ui/dr-ui/src/remote.rs#L40), [`ui/dr-ui/src/repairs.rs:1149`](../../ui/dr-ui/src/repairs.rs#L1149), [`ui/dr-ui/ui/collections.slint:289`](../../ui/dr-ui/ui/collections.slint#L289), [`ui/dr-ui/ui/collections.slint:950`](../../ui/dr-ui/ui/collections.slint#L950), [`ui/dr-ui/ui/icons.slint:263`](../../ui/dr-ui/ui/icons.slint#L263) | | FR-NC-6d | [`core/dr-sync-folder/src/borrow.rs:1`](../../core/dr-sync-folder/src/borrow.rs#L1), [`core/dr-sync-folder/src/lib.rs:1`](../../core/dr-sync-folder/src/lib.rs#L1), [`core/dr-sync-folder/src/vfs.rs:1`](../../core/dr-sync-folder/src/vfs.rs#L1) | @@ -149,10 +149,10 @@ _None._ | FR-RAW-4 | [`core/dr-decode/src/error.rs:1`](../../core/dr-decode/src/error.rs#L1), [`core/dr-decode/src/error.rs:30`](../../core/dr-decode/src/error.rs#L30), [`ui/dr-ui/src/lib.rs:287`](../../ui/dr-ui/src/lib.rs#L287) | | FR-RAW-5 | [`core/dr-decode/src/lib.rs:189`](../../core/dr-decode/src/lib.rs#L189), [`core/dr-gpu/src/demosaic.rs:34`](../../core/dr-gpu/src/demosaic.rs#L34), [`core/dr-gpu/src/demosaic.rs:758`](../../core/dr-gpu/src/demosaic.rs#L758), [`core/dr-gpu/src/demosaic.rs:837`](../../core/dr-gpu/src/demosaic.rs#L837), [`core/dr-gpu/src/demosaic.rs:961`](../../core/dr-gpu/src/demosaic.rs#L961) | | FR-UI-1 | [`core/dr-types/src/settings.rs:1377`](../../core/dr-types/src/settings.rs#L1377), [`core/dr-types/src/settings.rs:492`](../../core/dr-types/src/settings.rs#L492), [`core/dr-types/src/settings.rs:512`](../../core/dr-types/src/settings.rs#L512), [`ui/dr-ui/src/develop_ui.rs:204`](../../ui/dr-ui/src/develop_ui.rs#L204), [`ui/dr-ui/src/lib.rs:118`](../../ui/dr-ui/src/lib.rs#L118), [`ui/dr-ui/src/lib.rs:133`](../../ui/dr-ui/src/lib.rs#L133), [`ui/dr-ui/src/lib.rs:155`](../../ui/dr-ui/src/lib.rs#L155), [`ui/dr-ui/src/lib.rs:3220`](../../ui/dr-ui/src/lib.rs#L3220), [`ui/dr-ui/src/lib.rs:3239`](../../ui/dr-ui/src/lib.rs#L3239), [`ui/dr-ui/src/lib.rs:3266`](../../ui/dr-ui/src/lib.rs#L3266), [`ui/dr-ui/src/lib.rs:3317`](../../ui/dr-ui/src/lib.rs#L3317), [`ui/dr-ui/src/lib.rs:3350`](../../ui/dr-ui/src/lib.rs#L3350), [`ui/dr-ui/src/library_ui/grid.rs:232`](../../ui/dr-ui/src/library_ui/grid.rs#L232), [`ui/dr-ui/src/masks_ui.rs:1608`](../../ui/dr-ui/src/masks_ui.rs#L1608), [`ui/dr-ui/src/settings_ui.rs:179`](../../ui/dr-ui/src/settings_ui.rs#L179), [`ui/dr-ui/ui/adjust.slint:1000`](../../ui/dr-ui/ui/adjust.slint#L1000), [`ui/dr-ui/ui/app.slint:3031`](../../ui/dr-ui/ui/app.slint#L3031), [`ui/dr-ui/ui/app.slint:631`](../../ui/dr-ui/ui/app.slint#L631), [`ui/dr-ui/ui/app.slint:776`](../../ui/dr-ui/ui/app.slint#L776), [`ui/dr-ui/ui/identity.slint:249`](../../ui/dr-ui/ui/identity.slint#L249), [`ui/dr-ui/ui/library.slint:1442`](../../ui/dr-ui/ui/library.slint#L1442), [`ui/dr-ui/ui/settings.slint:129`](../../ui/dr-ui/ui/settings.slint#L129), [`ui/dr-ui/ui/settings.slint:657`](../../ui/dr-ui/ui/settings.slint#L657), [`ui/dr-ui/ui/toolrail.slint:156`](../../ui/dr-ui/ui/toolrail.slint#L156), [`ui/dr-ui/ui/toolrail.slint:89`](../../ui/dr-ui/ui/toolrail.slint#L89), [`ui/dr-ui/ui/widgets.slint:1060`](../../ui/dr-ui/ui/widgets.slint#L1060) | -| FR-UI-2 | [`ui/dr-ui/src/collections_ui/controller.rs:45`](../../ui/dr-ui/src/collections_ui/controller.rs#L45), [`ui/dr-ui/src/collections_ui/controller.rs:83`](../../ui/dr-ui/src/collections_ui/controller.rs#L83), [`ui/dr-ui/src/collections_ui/drag.rs:246`](../../ui/dr-ui/src/collections_ui/drag.rs#L246), [`ui/dr-ui/src/collections_ui/drag.rs:256`](../../ui/dr-ui/src/collections_ui/drag.rs#L256), [`ui/dr-ui/src/collections_ui/press.rs:453`](../../ui/dr-ui/src/collections_ui/press.rs#L453), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:121`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L121), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:138`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L138), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:415`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L415), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:287`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L287), [`ui/dr-ui/src/gestures.rs:1`](../../ui/dr-ui/src/gestures.rs#L1), [`ui/dr-ui/src/lib.rs:118`](../../ui/dr-ui/src/lib.rs#L118), [`ui/dr-ui/src/library_ui/filter_bar.rs:351`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L351), [`ui/dr-ui/src/library_ui/window.rs:981`](../../ui/dr-ui/src/library_ui/window.rs#L981), [`ui/dr-ui/ui/app.slint:134`](../../ui/dr-ui/ui/app.slint#L134), [`ui/dr-ui/ui/app.slint:3410`](../../ui/dr-ui/ui/app.slint#L3410), [`ui/dr-ui/ui/app.slint:760`](../../ui/dr-ui/ui/app.slint#L760), [`ui/dr-ui/ui/collections.slint:1326`](../../ui/dr-ui/ui/collections.slint#L1326), [`ui/dr-ui/ui/controls.slint:626`](../../ui/dr-ui/ui/controls.slint#L626), [`ui/dr-ui/ui/gestures.slint:1`](../../ui/dr-ui/ui/gestures.slint#L1), [`ui/dr-ui/ui/library.slint:1329`](../../ui/dr-ui/ui/library.slint#L1329), [`ui/dr-ui/ui/library.slint:1362`](../../ui/dr-ui/ui/library.slint#L1362), [`ui/dr-ui/ui/library.slint:1686`](../../ui/dr-ui/ui/library.slint#L1686), [`ui/dr-ui/ui/library.slint:1693`](../../ui/dr-ui/ui/library.slint#L1693), [`ui/dr-ui/ui/library.slint:1794`](../../ui/dr-ui/ui/library.slint#L1794), [`ui/dr-ui/ui/library.slint:3129`](../../ui/dr-ui/ui/library.slint#L3129), [`ui/dr-ui/ui/library.slint:567`](../../ui/dr-ui/ui/library.slint#L567), [`ui/dr-ui/ui/presets.slint:19`](../../ui/dr-ui/ui/presets.slint#L19), [`ui/dr-ui/ui/settings.slint:143`](../../ui/dr-ui/ui/settings.slint#L143) | +| FR-UI-2 | [`ui/dr-ui/src/collections_ui/controller.rs:45`](../../ui/dr-ui/src/collections_ui/controller.rs#L45), [`ui/dr-ui/src/collections_ui/controller.rs:83`](../../ui/dr-ui/src/collections_ui/controller.rs#L83), [`ui/dr-ui/src/collections_ui/drag.rs:246`](../../ui/dr-ui/src/collections_ui/drag.rs#L246), [`ui/dr-ui/src/collections_ui/drag.rs:256`](../../ui/dr-ui/src/collections_ui/drag.rs#L256), [`ui/dr-ui/src/collections_ui/press.rs:453`](../../ui/dr-ui/src/collections_ui/press.rs#L453), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:121`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L121), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:138`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L138), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:415`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L415), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:287`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L287), [`ui/dr-ui/src/gestures.rs:1`](../../ui/dr-ui/src/gestures.rs#L1), [`ui/dr-ui/src/lib.rs:118`](../../ui/dr-ui/src/lib.rs#L118), [`ui/dr-ui/src/library_ui/filter_bar.rs:351`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L351), [`ui/dr-ui/src/library_ui/window.rs:981`](../../ui/dr-ui/src/library_ui/window.rs#L981), [`ui/dr-ui/ui/app.slint:134`](../../ui/dr-ui/ui/app.slint#L134), [`ui/dr-ui/ui/app.slint:3427`](../../ui/dr-ui/ui/app.slint#L3427), [`ui/dr-ui/ui/app.slint:760`](../../ui/dr-ui/ui/app.slint#L760), [`ui/dr-ui/ui/collections.slint:1326`](../../ui/dr-ui/ui/collections.slint#L1326), [`ui/dr-ui/ui/controls.slint:626`](../../ui/dr-ui/ui/controls.slint#L626), [`ui/dr-ui/ui/gestures.slint:1`](../../ui/dr-ui/ui/gestures.slint#L1), [`ui/dr-ui/ui/library.slint:1329`](../../ui/dr-ui/ui/library.slint#L1329), [`ui/dr-ui/ui/library.slint:1362`](../../ui/dr-ui/ui/library.slint#L1362), [`ui/dr-ui/ui/library.slint:1686`](../../ui/dr-ui/ui/library.slint#L1686), [`ui/dr-ui/ui/library.slint:1693`](../../ui/dr-ui/ui/library.slint#L1693), [`ui/dr-ui/ui/library.slint:1794`](../../ui/dr-ui/ui/library.slint#L1794), [`ui/dr-ui/ui/library.slint:3129`](../../ui/dr-ui/ui/library.slint#L3129), [`ui/dr-ui/ui/library.slint:567`](../../ui/dr-ui/ui/library.slint#L567), [`ui/dr-ui/ui/presets.slint:19`](../../ui/dr-ui/ui/presets.slint#L19), [`ui/dr-ui/ui/settings.slint:143`](../../ui/dr-ui/ui/settings.slint#L143) | | FR-UI-3 | [`ui/dr-ui/src/collections_ui/controller.rs:138`](../../ui/dr-ui/src/collections_ui/controller.rs#L138), [`ui/dr-ui/src/collections_ui/controller.rs:343`](../../ui/dr-ui/src/collections_ui/controller.rs#L343), [`ui/dr-ui/src/collections_ui/controller.rs:356`](../../ui/dr-ui/src/collections_ui/controller.rs#L356), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:287`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L287), [`ui/dr-ui/src/develop/masks.rs:361`](../../ui/dr-ui/src/develop/masks.rs#L361), [`ui/dr-ui/src/develop/repairs.rs:49`](../../ui/dr-ui/src/develop/repairs.rs#L49), [`ui/dr-ui/src/library_ui/grid.rs:218`](../../ui/dr-ui/src/library_ui/grid.rs#L218), [`ui/dr-ui/src/masks_ui.rs:1700`](../../ui/dr-ui/src/masks_ui.rs#L1700), [`ui/dr-ui/src/masks_ui.rs:1722`](../../ui/dr-ui/src/masks_ui.rs#L1722), [`ui/dr-ui/src/masks_ui.rs:339`](../../ui/dr-ui/src/masks_ui.rs#L339), [`ui/dr-ui/src/spots_ui.rs:19`](../../ui/dr-ui/src/spots_ui.rs#L19), [`ui/dr-ui/ui/app.slint:2235`](../../ui/dr-ui/ui/app.slint#L2235), [`ui/dr-ui/ui/collections.slint:1200`](../../ui/dr-ui/ui/collections.slint#L1200), [`ui/dr-ui/ui/collections.slint:4`](../../ui/dr-ui/ui/collections.slint#L4), [`ui/dr-ui/ui/collections.slint:77`](../../ui/dr-ui/ui/collections.slint#L77), [`ui/dr-ui/ui/collections.slint:950`](../../ui/dr-ui/ui/collections.slint#L950), [`ui/dr-ui/ui/masks.slint:1246`](../../ui/dr-ui/ui/masks.slint#L1246), [`ui/dr-ui/ui/widgets.slint:72`](../../ui/dr-ui/ui/widgets.slint#L72) | -| FR-UI-4 | [`tools/traceability/src/gestures.rs:1`](../../tools/traceability/src/gestures.rs#L1), [`tools/traceability/src/keymap.rs:1`](../../tools/traceability/src/keymap.rs#L1), [`ui/dr-ui/src/collections_ui/controller.rs:138`](../../ui/dr-ui/src/collections_ui/controller.rs#L138), [`ui/dr-ui/src/collections_ui/controller.rs:343`](../../ui/dr-ui/src/collections_ui/controller.rs#L343), [`ui/dr-ui/src/collections_ui/controller.rs:356`](../../ui/dr-ui/src/collections_ui/controller.rs#L356), [`ui/dr-ui/src/collections_ui/controller.rs:45`](../../ui/dr-ui/src/collections_ui/controller.rs#L45), [`ui/dr-ui/src/collections_ui/controller.rs:46`](../../ui/dr-ui/src/collections_ui/controller.rs#L46), [`ui/dr-ui/src/collections_ui/controller.rs:55`](../../ui/dr-ui/src/collections_ui/controller.rs#L55), [`ui/dr-ui/src/collections_ui/controller.rs:83`](../../ui/dr-ui/src/collections_ui/controller.rs#L83), [`ui/dr-ui/src/collections_ui/drag.rs:246`](../../ui/dr-ui/src/collections_ui/drag.rs#L246), [`ui/dr-ui/src/collections_ui/drag.rs:256`](../../ui/dr-ui/src/collections_ui/drag.rs#L256), [`ui/dr-ui/src/collections_ui/press.rs:258`](../../ui/dr-ui/src/collections_ui/press.rs#L258), [`ui/dr-ui/src/collections_ui/press.rs:278`](../../ui/dr-ui/src/collections_ui/press.rs#L278), [`ui/dr-ui/src/collections_ui/press.rs:453`](../../ui/dr-ui/src/collections_ui/press.rs#L453), [`ui/dr-ui/src/collections_ui/press.rs:490`](../../ui/dr-ui/src/collections_ui/press.rs#L490), [`ui/dr-ui/src/collections_ui/press.rs:54`](../../ui/dr-ui/src/collections_ui/press.rs#L54), [`ui/dr-ui/src/collections_ui/tree_sync.rs:339`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L339), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:121`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L121), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:138`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L138), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:264`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L264), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:415`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L415), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:444`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L444), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:577`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L577), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:287`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L287), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:344`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L344), [`ui/dr-ui/src/develop/framing.rs:257`](../../ui/dr-ui/src/develop/framing.rs#L257), [`ui/dr-ui/src/develop/framing.rs:594`](../../ui/dr-ui/src/develop/framing.rs#L594), [`ui/dr-ui/src/develop/framing.rs:619`](../../ui/dr-ui/src/develop/framing.rs#L619), [`ui/dr-ui/src/develop/framing.rs:630`](../../ui/dr-ui/src/develop/framing.rs#L630), [`ui/dr-ui/src/develop/framing.rs:644`](../../ui/dr-ui/src/develop/framing.rs#L644), [`ui/dr-ui/src/develop/framing.rs:818`](../../ui/dr-ui/src/develop/framing.rs#L818), [`ui/dr-ui/src/develop/framing.rs:849`](../../ui/dr-ui/src/develop/framing.rs#L849), [`ui/dr-ui/src/develop/framing.rs:870`](../../ui/dr-ui/src/develop/framing.rs#L870), [`ui/dr-ui/src/develop/framing.rs:995`](../../ui/dr-ui/src/develop/framing.rs#L995), [`ui/dr-ui/src/develop/render.rs:1065`](../../ui/dr-ui/src/develop/render.rs#L1065), [`ui/dr-ui/src/develop/render.rs:1090`](../../ui/dr-ui/src/develop/render.rs#L1090), [`ui/dr-ui/src/develop/render.rs:1113`](../../ui/dr-ui/src/develop/render.rs#L1113), [`ui/dr-ui/src/develop/render.rs:1152`](../../ui/dr-ui/src/develop/render.rs#L1152), [`ui/dr-ui/src/develop/render.rs:47`](../../ui/dr-ui/src/develop/render.rs#L47), [`ui/dr-ui/src/develop/render.rs:66`](../../ui/dr-ui/src/develop/render.rs#L66), [`ui/dr-ui/src/develop/render.rs:79`](../../ui/dr-ui/src/develop/render.rs#L79), [`ui/dr-ui/src/develop_ui.rs:852`](../../ui/dr-ui/src/develop_ui.rs#L852), [`ui/dr-ui/src/duplicates_ui.rs:1`](../../ui/dr-ui/src/duplicates_ui.rs#L1), [`ui/dr-ui/src/gesture_book.rs:3`](../../ui/dr-ui/src/gesture_book.rs#L3), [`ui/dr-ui/src/gestures.rs:127`](../../ui/dr-ui/src/gestures.rs#L127), [`ui/dr-ui/src/gestures.rs:139`](../../ui/dr-ui/src/gestures.rs#L139), [`ui/dr-ui/src/gestures.rs:1`](../../ui/dr-ui/src/gestures.rs#L1), [`ui/dr-ui/src/lib.rs:1281`](../../ui/dr-ui/src/lib.rs#L1281), [`ui/dr-ui/src/lib.rs:1572`](../../ui/dr-ui/src/lib.rs#L1572), [`ui/dr-ui/src/lib.rs:2592`](../../ui/dr-ui/src/lib.rs#L2592), [`ui/dr-ui/src/lib.rs:2811`](../../ui/dr-ui/src/lib.rs#L2811), [`ui/dr-ui/src/lib.rs:2871`](../../ui/dr-ui/src/lib.rs#L2871), [`ui/dr-ui/src/lib.rs:3030`](../../ui/dr-ui/src/lib.rs#L3030), [`ui/dr-ui/src/lib.rs:3432`](../../ui/dr-ui/src/lib.rs#L3432), [`ui/dr-ui/src/lib.rs:3476`](../../ui/dr-ui/src/lib.rs#L3476), [`ui/dr-ui/src/lib.rs:486`](../../ui/dr-ui/src/lib.rs#L486), [`ui/dr-ui/src/lib.rs:515`](../../ui/dr-ui/src/lib.rs#L515), [`ui/dr-ui/src/library/thumbnails_fetch.rs:718`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L718), [`ui/dr-ui/src/library/thumbnails_fetch.rs:733`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L733), [`ui/dr-ui/src/library_ui/controller.rs:398`](../../ui/dr-ui/src/library_ui/controller.rs#L398), [`ui/dr-ui/src/library_ui/controller.rs:540`](../../ui/dr-ui/src/library_ui/controller.rs#L540), [`ui/dr-ui/src/library_ui/controller.rs:617`](../../ui/dr-ui/src/library_ui/controller.rs#L617), [`ui/dr-ui/src/library_ui/filter_bar.rs:500`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L500), [`ui/dr-ui/src/library_ui/grid.rs:218`](../../ui/dr-ui/src/library_ui/grid.rs#L218), [`ui/dr-ui/src/library_ui/grid.rs:241`](../../ui/dr-ui/src/library_ui/grid.rs#L241), [`ui/dr-ui/src/library_ui/grid.rs:262`](../../ui/dr-ui/src/library_ui/grid.rs#L262), [`ui/dr-ui/src/library_ui/grid.rs:336`](../../ui/dr-ui/src/library_ui/grid.rs#L336), [`ui/dr-ui/src/library_ui/grid.rs:479`](../../ui/dr-ui/src/library_ui/grid.rs#L479), [`ui/dr-ui/src/library_ui/grid.rs:509`](../../ui/dr-ui/src/library_ui/grid.rs#L509), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1168`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1168), [`ui/dr-ui/src/manual.rs:1`](../../ui/dr-ui/src/manual.rs#L1), [`ui/dr-ui/src/settings_ui.rs:157`](../../ui/dr-ui/src/settings_ui.rs#L157), [`ui/dr-ui/src/settings_ui.rs:616`](../../ui/dr-ui/src/settings_ui.rs#L616), [`ui/dr-ui/ui/app.slint:1771`](../../ui/dr-ui/ui/app.slint#L1771), [`ui/dr-ui/ui/app.slint:1923`](../../ui/dr-ui/ui/app.slint#L1923), [`ui/dr-ui/ui/app.slint:2049`](../../ui/dr-ui/ui/app.slint#L2049), [`ui/dr-ui/ui/app.slint:2335`](../../ui/dr-ui/ui/app.slint#L2335), [`ui/dr-ui/ui/app.slint:235`](../../ui/dr-ui/ui/app.slint#L235), [`ui/dr-ui/ui/app.slint:2497`](../../ui/dr-ui/ui/app.slint#L2497), [`ui/dr-ui/ui/app.slint:2527`](../../ui/dr-ui/ui/app.slint#L2527), [`ui/dr-ui/ui/app.slint:2672`](../../ui/dr-ui/ui/app.slint#L2672), [`ui/dr-ui/ui/app.slint:2872`](../../ui/dr-ui/ui/app.slint#L2872), [`ui/dr-ui/ui/app.slint:3410`](../../ui/dr-ui/ui/app.slint#L3410), [`ui/dr-ui/ui/app.slint:3437`](../../ui/dr-ui/ui/app.slint#L3437), [`ui/dr-ui/ui/app.slint:663`](../../ui/dr-ui/ui/app.slint#L663), [`ui/dr-ui/ui/collections.slint:1326`](../../ui/dr-ui/ui/collections.slint#L1326), [`ui/dr-ui/ui/collections.slint:77`](../../ui/dr-ui/ui/collections.slint#L77), [`ui/dr-ui/ui/develop.slint:142`](../../ui/dr-ui/ui/develop.slint#L142), [`ui/dr-ui/ui/develop.slint:332`](../../ui/dr-ui/ui/develop.slint#L332), [`ui/dr-ui/ui/develop.slint:66`](../../ui/dr-ui/ui/develop.slint#L66), [`ui/dr-ui/ui/duplicates.slint:1`](../../ui/dr-ui/ui/duplicates.slint#L1), [`ui/dr-ui/ui/gestures.slint:1`](../../ui/dr-ui/ui/gestures.slint#L1), [`ui/dr-ui/ui/icons.slint:367`](../../ui/dr-ui/ui/icons.slint#L367), [`ui/dr-ui/ui/labels.slint:74`](../../ui/dr-ui/ui/labels.slint#L74), [`ui/dr-ui/ui/library.slint:1329`](../../ui/dr-ui/ui/library.slint#L1329), [`ui/dr-ui/ui/library.slint:1356`](../../ui/dr-ui/ui/library.slint#L1356), [`ui/dr-ui/ui/library.slint:1362`](../../ui/dr-ui/ui/library.slint#L1362), [`ui/dr-ui/ui/library.slint:1417`](../../ui/dr-ui/ui/library.slint#L1417), [`ui/dr-ui/ui/library.slint:1612`](../../ui/dr-ui/ui/library.slint#L1612), [`ui/dr-ui/ui/library.slint:1663`](../../ui/dr-ui/ui/library.slint#L1663), [`ui/dr-ui/ui/library.slint:1686`](../../ui/dr-ui/ui/library.slint#L1686), [`ui/dr-ui/ui/library.slint:1693`](../../ui/dr-ui/ui/library.slint#L1693), [`ui/dr-ui/ui/library.slint:1729`](../../ui/dr-ui/ui/library.slint#L1729), [`ui/dr-ui/ui/library.slint:1787`](../../ui/dr-ui/ui/library.slint#L1787), [`ui/dr-ui/ui/library.slint:1794`](../../ui/dr-ui/ui/library.slint#L1794), [`ui/dr-ui/ui/library.slint:3129`](../../ui/dr-ui/ui/library.slint#L3129), [`ui/dr-ui/ui/library.slint:3234`](../../ui/dr-ui/ui/library.slint#L3234), [`ui/dr-ui/ui/library.slint:3385`](../../ui/dr-ui/ui/library.slint#L3385), [`ui/dr-ui/ui/library.slint:5014`](../../ui/dr-ui/ui/library.slint#L5014), [`ui/dr-ui/ui/library.slint:5052`](../../ui/dr-ui/ui/library.slint#L5052), [`ui/dr-ui/ui/library.slint:5156`](../../ui/dr-ui/ui/library.slint#L5156), [`ui/dr-ui/ui/library.slint:562`](../../ui/dr-ui/ui/library.slint#L562), [`ui/dr-ui/ui/library.slint:572`](../../ui/dr-ui/ui/library.slint#L572), [`ui/dr-ui/ui/library.slint:666`](../../ui/dr-ui/ui/library.slint#L666), [`ui/dr-ui/ui/library.slint:735`](../../ui/dr-ui/ui/library.slint#L735), [`ui/dr-ui/ui/settings.slint:121`](../../ui/dr-ui/ui/settings.slint#L121), [`ui/dr-ui/ui/settings.slint:172`](../../ui/dr-ui/ui/settings.slint#L172), [`ui/dr-ui/ui/settings.slint:632`](../../ui/dr-ui/ui/settings.slint#L632) | -| FR-UI-5 | [`core/dr-types/src/place.rs:118`](../../core/dr-types/src/place.rs#L118), [`tools/traceability/src/chord.rs:1`](../../tools/traceability/src/chord.rs#L1), [`tools/traceability/src/keymap.rs:1`](../../tools/traceability/src/keymap.rs#L1), [`ui/dr-ui/src/collections_ui/mod.rs:1`](../../ui/dr-ui/src/collections_ui/mod.rs#L1), [`ui/dr-ui/src/develop_ui.rs:897`](../../ui/dr-ui/src/develop_ui.rs#L897), [`ui/dr-ui/src/gestures.rs:139`](../../ui/dr-ui/src/gestures.rs#L139), [`ui/dr-ui/src/identity_ui.rs:1643`](../../ui/dr-ui/src/identity_ui.rs#L1643), [`ui/dr-ui/src/identity_ui.rs:802`](../../ui/dr-ui/src/identity_ui.rs#L802), [`ui/dr-ui/src/lib.rs:3414`](../../ui/dr-ui/src/lib.rs#L3414), [`ui/dr-ui/src/lib.rs:3432`](../../ui/dr-ui/src/lib.rs#L3432), [`ui/dr-ui/src/lib.rs:3446`](../../ui/dr-ui/src/lib.rs#L3446), [`ui/dr-ui/src/lib.rs:3627`](../../ui/dr-ui/src/lib.rs#L3627), [`ui/dr-ui/src/library/filters.rs:79`](../../ui/dr-ui/src/library/filters.rs#L79), [`ui/dr-ui/src/library_ui/filter_bar.rs:57`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L57), [`ui/dr-ui/src/library_ui/grid.rs:356`](../../ui/dr-ui/src/library_ui/grid.rs#L356), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1028`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1028), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1144`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1144), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1205`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1205), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1275`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1275), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1301`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1301), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:457`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L457), [`ui/dr-ui/src/masks_ui.rs:1655`](../../ui/dr-ui/src/masks_ui.rs#L1655), [`ui/dr-ui/src/place.rs:331`](../../ui/dr-ui/src/place.rs#L331), [`ui/dr-ui/src/settings_ui.rs:502`](../../ui/dr-ui/src/settings_ui.rs#L502), [`ui/dr-ui/ui/app.slint:1055`](../../ui/dr-ui/ui/app.slint#L1055), [`ui/dr-ui/ui/app.slint:1635`](../../ui/dr-ui/ui/app.slint#L1635), [`ui/dr-ui/ui/app.slint:2335`](../../ui/dr-ui/ui/app.slint#L2335), [`ui/dr-ui/ui/app.slint:2485`](../../ui/dr-ui/ui/app.slint#L2485), [`ui/dr-ui/ui/app.slint:2627`](../../ui/dr-ui/ui/app.slint#L2627), [`ui/dr-ui/ui/app.slint:2672`](../../ui/dr-ui/ui/app.slint#L2672), [`ui/dr-ui/ui/app.slint:2725`](../../ui/dr-ui/ui/app.slint#L2725), [`ui/dr-ui/ui/app.slint:2756`](../../ui/dr-ui/ui/app.slint#L2756), [`ui/dr-ui/ui/app.slint:3375`](../../ui/dr-ui/ui/app.slint#L3375), [`ui/dr-ui/ui/app.slint:3394`](../../ui/dr-ui/ui/app.slint#L3394), [`ui/dr-ui/ui/app.slint:393`](../../ui/dr-ui/ui/app.slint#L393), [`ui/dr-ui/ui/app.slint:652`](../../ui/dr-ui/ui/app.slint#L652), [`ui/dr-ui/ui/app.slint:659`](../../ui/dr-ui/ui/app.slint#L659), [`ui/dr-ui/ui/app.slint:663`](../../ui/dr-ui/ui/app.slint#L663), [`ui/dr-ui/ui/app.slint:669`](../../ui/dr-ui/ui/app.slint#L669), [`ui/dr-ui/ui/app.slint:725`](../../ui/dr-ui/ui/app.slint#L725), [`ui/dr-ui/ui/collections.slint:110`](../../ui/dr-ui/ui/collections.slint#L110), [`ui/dr-ui/ui/collections.slint:4`](../../ui/dr-ui/ui/collections.slint#L4), [`ui/dr-ui/ui/develop.slint:168`](../../ui/dr-ui/ui/develop.slint#L168), [`ui/dr-ui/ui/develop.slint:55`](../../ui/dr-ui/ui/develop.slint#L55), [`ui/dr-ui/ui/export.slint:1`](../../ui/dr-ui/ui/export.slint#L1), [`ui/dr-ui/ui/export.slint:384`](../../ui/dr-ui/ui/export.slint#L384), [`ui/dr-ui/ui/identity.slint:294`](../../ui/dr-ui/ui/identity.slint#L294), [`ui/dr-ui/ui/identity.slint:400`](../../ui/dr-ui/ui/identity.slint#L400), [`ui/dr-ui/ui/keys.slint:1`](../../ui/dr-ui/ui/keys.slint#L1), [`ui/dr-ui/ui/library.slint:1039`](../../ui/dr-ui/ui/library.slint#L1039), [`ui/dr-ui/ui/library.slint:1609`](../../ui/dr-ui/ui/library.slint#L1609), [`ui/dr-ui/ui/library.slint:1618`](../../ui/dr-ui/ui/library.slint#L1618), [`ui/dr-ui/ui/library.slint:1623`](../../ui/dr-ui/ui/library.slint#L1623), [`ui/dr-ui/ui/library.slint:1635`](../../ui/dr-ui/ui/library.slint#L1635), [`ui/dr-ui/ui/library.slint:1883`](../../ui/dr-ui/ui/library.slint#L1883), [`ui/dr-ui/ui/library.slint:2012`](../../ui/dr-ui/ui/library.slint#L2012), [`ui/dr-ui/ui/library.slint:2652`](../../ui/dr-ui/ui/library.slint#L2652), [`ui/dr-ui/ui/library.slint:3095`](../../ui/dr-ui/ui/library.slint#L3095), [`ui/dr-ui/ui/library.slint:3171`](../../ui/dr-ui/ui/library.slint#L3171), [`ui/dr-ui/ui/library.slint:3190`](../../ui/dr-ui/ui/library.slint#L3190), [`ui/dr-ui/ui/library.slint:3196`](../../ui/dr-ui/ui/library.slint#L3196), [`ui/dr-ui/ui/library.slint:3203`](../../ui/dr-ui/ui/library.slint#L3203), [`ui/dr-ui/ui/library.slint:3223`](../../ui/dr-ui/ui/library.slint#L3223), [`ui/dr-ui/ui/library.slint:3234`](../../ui/dr-ui/ui/library.slint#L3234), [`ui/dr-ui/ui/library.slint:3312`](../../ui/dr-ui/ui/library.slint#L3312), [`ui/dr-ui/ui/library.slint:3385`](../../ui/dr-ui/ui/library.slint#L3385), [`ui/dr-ui/ui/library.slint:3988`](../../ui/dr-ui/ui/library.slint#L3988), [`ui/dr-ui/ui/library.slint:5069`](../../ui/dr-ui/ui/library.slint#L5069), [`ui/dr-ui/ui/library.slint:642`](../../ui/dr-ui/ui/library.slint#L642), [`ui/dr-ui/ui/library.slint:660`](../../ui/dr-ui/ui/library.slint#L660), [`ui/dr-ui/ui/library.slint:681`](../../ui/dr-ui/ui/library.slint#L681), [`ui/dr-ui/ui/presets.slint:332`](../../ui/dr-ui/ui/presets.slint#L332), [`ui/dr-ui/ui/session.slint:75`](../../ui/dr-ui/ui/session.slint#L75) | +| FR-UI-4 | [`tools/traceability/src/gestures.rs:1`](../../tools/traceability/src/gestures.rs#L1), [`tools/traceability/src/keymap.rs:1`](../../tools/traceability/src/keymap.rs#L1), [`ui/dr-ui/src/collections_ui/controller.rs:138`](../../ui/dr-ui/src/collections_ui/controller.rs#L138), [`ui/dr-ui/src/collections_ui/controller.rs:343`](../../ui/dr-ui/src/collections_ui/controller.rs#L343), [`ui/dr-ui/src/collections_ui/controller.rs:356`](../../ui/dr-ui/src/collections_ui/controller.rs#L356), [`ui/dr-ui/src/collections_ui/controller.rs:45`](../../ui/dr-ui/src/collections_ui/controller.rs#L45), [`ui/dr-ui/src/collections_ui/controller.rs:46`](../../ui/dr-ui/src/collections_ui/controller.rs#L46), [`ui/dr-ui/src/collections_ui/controller.rs:55`](../../ui/dr-ui/src/collections_ui/controller.rs#L55), [`ui/dr-ui/src/collections_ui/controller.rs:83`](../../ui/dr-ui/src/collections_ui/controller.rs#L83), [`ui/dr-ui/src/collections_ui/drag.rs:246`](../../ui/dr-ui/src/collections_ui/drag.rs#L246), [`ui/dr-ui/src/collections_ui/drag.rs:256`](../../ui/dr-ui/src/collections_ui/drag.rs#L256), [`ui/dr-ui/src/collections_ui/press.rs:258`](../../ui/dr-ui/src/collections_ui/press.rs#L258), [`ui/dr-ui/src/collections_ui/press.rs:278`](../../ui/dr-ui/src/collections_ui/press.rs#L278), [`ui/dr-ui/src/collections_ui/press.rs:453`](../../ui/dr-ui/src/collections_ui/press.rs#L453), [`ui/dr-ui/src/collections_ui/press.rs:490`](../../ui/dr-ui/src/collections_ui/press.rs#L490), [`ui/dr-ui/src/collections_ui/press.rs:54`](../../ui/dr-ui/src/collections_ui/press.rs#L54), [`ui/dr-ui/src/collections_ui/tree_sync.rs:339`](../../ui/dr-ui/src/collections_ui/tree_sync.rs#L339), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:121`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L121), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:138`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L138), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:264`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L264), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:415`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L415), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:444`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L444), [`ui/dr-ui/src/collections_ui/wiring_grid.rs:577`](../../ui/dr-ui/src/collections_ui/wiring_grid.rs#L577), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:287`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L287), [`ui/dr-ui/src/collections_ui/wiring_tree.rs:344`](../../ui/dr-ui/src/collections_ui/wiring_tree.rs#L344), [`ui/dr-ui/src/develop/framing.rs:257`](../../ui/dr-ui/src/develop/framing.rs#L257), [`ui/dr-ui/src/develop/framing.rs:594`](../../ui/dr-ui/src/develop/framing.rs#L594), [`ui/dr-ui/src/develop/framing.rs:619`](../../ui/dr-ui/src/develop/framing.rs#L619), [`ui/dr-ui/src/develop/framing.rs:630`](../../ui/dr-ui/src/develop/framing.rs#L630), [`ui/dr-ui/src/develop/framing.rs:644`](../../ui/dr-ui/src/develop/framing.rs#L644), [`ui/dr-ui/src/develop/framing.rs:818`](../../ui/dr-ui/src/develop/framing.rs#L818), [`ui/dr-ui/src/develop/framing.rs:849`](../../ui/dr-ui/src/develop/framing.rs#L849), [`ui/dr-ui/src/develop/framing.rs:870`](../../ui/dr-ui/src/develop/framing.rs#L870), [`ui/dr-ui/src/develop/framing.rs:995`](../../ui/dr-ui/src/develop/framing.rs#L995), [`ui/dr-ui/src/develop/render.rs:1065`](../../ui/dr-ui/src/develop/render.rs#L1065), [`ui/dr-ui/src/develop/render.rs:1090`](../../ui/dr-ui/src/develop/render.rs#L1090), [`ui/dr-ui/src/develop/render.rs:1113`](../../ui/dr-ui/src/develop/render.rs#L1113), [`ui/dr-ui/src/develop/render.rs:1152`](../../ui/dr-ui/src/develop/render.rs#L1152), [`ui/dr-ui/src/develop/render.rs:47`](../../ui/dr-ui/src/develop/render.rs#L47), [`ui/dr-ui/src/develop/render.rs:66`](../../ui/dr-ui/src/develop/render.rs#L66), [`ui/dr-ui/src/develop/render.rs:79`](../../ui/dr-ui/src/develop/render.rs#L79), [`ui/dr-ui/src/develop_ui.rs:852`](../../ui/dr-ui/src/develop_ui.rs#L852), [`ui/dr-ui/src/duplicates_ui.rs:1`](../../ui/dr-ui/src/duplicates_ui.rs#L1), [`ui/dr-ui/src/gesture_book.rs:3`](../../ui/dr-ui/src/gesture_book.rs#L3), [`ui/dr-ui/src/gestures.rs:127`](../../ui/dr-ui/src/gestures.rs#L127), [`ui/dr-ui/src/gestures.rs:139`](../../ui/dr-ui/src/gestures.rs#L139), [`ui/dr-ui/src/gestures.rs:1`](../../ui/dr-ui/src/gestures.rs#L1), [`ui/dr-ui/src/lib.rs:1281`](../../ui/dr-ui/src/lib.rs#L1281), [`ui/dr-ui/src/lib.rs:1572`](../../ui/dr-ui/src/lib.rs#L1572), [`ui/dr-ui/src/lib.rs:2592`](../../ui/dr-ui/src/lib.rs#L2592), [`ui/dr-ui/src/lib.rs:2811`](../../ui/dr-ui/src/lib.rs#L2811), [`ui/dr-ui/src/lib.rs:2871`](../../ui/dr-ui/src/lib.rs#L2871), [`ui/dr-ui/src/lib.rs:3030`](../../ui/dr-ui/src/lib.rs#L3030), [`ui/dr-ui/src/lib.rs:3432`](../../ui/dr-ui/src/lib.rs#L3432), [`ui/dr-ui/src/lib.rs:3476`](../../ui/dr-ui/src/lib.rs#L3476), [`ui/dr-ui/src/lib.rs:486`](../../ui/dr-ui/src/lib.rs#L486), [`ui/dr-ui/src/lib.rs:515`](../../ui/dr-ui/src/lib.rs#L515), [`ui/dr-ui/src/library/thumbnails_fetch.rs:718`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L718), [`ui/dr-ui/src/library/thumbnails_fetch.rs:733`](../../ui/dr-ui/src/library/thumbnails_fetch.rs#L733), [`ui/dr-ui/src/library_ui/controller.rs:398`](../../ui/dr-ui/src/library_ui/controller.rs#L398), [`ui/dr-ui/src/library_ui/controller.rs:540`](../../ui/dr-ui/src/library_ui/controller.rs#L540), [`ui/dr-ui/src/library_ui/controller.rs:617`](../../ui/dr-ui/src/library_ui/controller.rs#L617), [`ui/dr-ui/src/library_ui/filter_bar.rs:500`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L500), [`ui/dr-ui/src/library_ui/grid.rs:218`](../../ui/dr-ui/src/library_ui/grid.rs#L218), [`ui/dr-ui/src/library_ui/grid.rs:241`](../../ui/dr-ui/src/library_ui/grid.rs#L241), [`ui/dr-ui/src/library_ui/grid.rs:262`](../../ui/dr-ui/src/library_ui/grid.rs#L262), [`ui/dr-ui/src/library_ui/grid.rs:336`](../../ui/dr-ui/src/library_ui/grid.rs#L336), [`ui/dr-ui/src/library_ui/grid.rs:479`](../../ui/dr-ui/src/library_ui/grid.rs#L479), [`ui/dr-ui/src/library_ui/grid.rs:509`](../../ui/dr-ui/src/library_ui/grid.rs#L509), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1168`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1168), [`ui/dr-ui/src/manual.rs:1`](../../ui/dr-ui/src/manual.rs#L1), [`ui/dr-ui/src/settings_ui.rs:157`](../../ui/dr-ui/src/settings_ui.rs#L157), [`ui/dr-ui/src/settings_ui.rs:616`](../../ui/dr-ui/src/settings_ui.rs#L616), [`ui/dr-ui/ui/app.slint:1771`](../../ui/dr-ui/ui/app.slint#L1771), [`ui/dr-ui/ui/app.slint:1923`](../../ui/dr-ui/ui/app.slint#L1923), [`ui/dr-ui/ui/app.slint:2049`](../../ui/dr-ui/ui/app.slint#L2049), [`ui/dr-ui/ui/app.slint:2335`](../../ui/dr-ui/ui/app.slint#L2335), [`ui/dr-ui/ui/app.slint:235`](../../ui/dr-ui/ui/app.slint#L235), [`ui/dr-ui/ui/app.slint:2497`](../../ui/dr-ui/ui/app.slint#L2497), [`ui/dr-ui/ui/app.slint:2527`](../../ui/dr-ui/ui/app.slint#L2527), [`ui/dr-ui/ui/app.slint:2672`](../../ui/dr-ui/ui/app.slint#L2672), [`ui/dr-ui/ui/app.slint:2872`](../../ui/dr-ui/ui/app.slint#L2872), [`ui/dr-ui/ui/app.slint:3427`](../../ui/dr-ui/ui/app.slint#L3427), [`ui/dr-ui/ui/app.slint:3454`](../../ui/dr-ui/ui/app.slint#L3454), [`ui/dr-ui/ui/app.slint:663`](../../ui/dr-ui/ui/app.slint#L663), [`ui/dr-ui/ui/collections.slint:1326`](../../ui/dr-ui/ui/collections.slint#L1326), [`ui/dr-ui/ui/collections.slint:77`](../../ui/dr-ui/ui/collections.slint#L77), [`ui/dr-ui/ui/develop.slint:142`](../../ui/dr-ui/ui/develop.slint#L142), [`ui/dr-ui/ui/develop.slint:332`](../../ui/dr-ui/ui/develop.slint#L332), [`ui/dr-ui/ui/develop.slint:66`](../../ui/dr-ui/ui/develop.slint#L66), [`ui/dr-ui/ui/duplicates.slint:1`](../../ui/dr-ui/ui/duplicates.slint#L1), [`ui/dr-ui/ui/gestures.slint:1`](../../ui/dr-ui/ui/gestures.slint#L1), [`ui/dr-ui/ui/icons.slint:367`](../../ui/dr-ui/ui/icons.slint#L367), [`ui/dr-ui/ui/labels.slint:74`](../../ui/dr-ui/ui/labels.slint#L74), [`ui/dr-ui/ui/library.slint:1329`](../../ui/dr-ui/ui/library.slint#L1329), [`ui/dr-ui/ui/library.slint:1356`](../../ui/dr-ui/ui/library.slint#L1356), [`ui/dr-ui/ui/library.slint:1362`](../../ui/dr-ui/ui/library.slint#L1362), [`ui/dr-ui/ui/library.slint:1417`](../../ui/dr-ui/ui/library.slint#L1417), [`ui/dr-ui/ui/library.slint:1612`](../../ui/dr-ui/ui/library.slint#L1612), [`ui/dr-ui/ui/library.slint:1663`](../../ui/dr-ui/ui/library.slint#L1663), [`ui/dr-ui/ui/library.slint:1686`](../../ui/dr-ui/ui/library.slint#L1686), [`ui/dr-ui/ui/library.slint:1693`](../../ui/dr-ui/ui/library.slint#L1693), [`ui/dr-ui/ui/library.slint:1729`](../../ui/dr-ui/ui/library.slint#L1729), [`ui/dr-ui/ui/library.slint:1787`](../../ui/dr-ui/ui/library.slint#L1787), [`ui/dr-ui/ui/library.slint:1794`](../../ui/dr-ui/ui/library.slint#L1794), [`ui/dr-ui/ui/library.slint:3129`](../../ui/dr-ui/ui/library.slint#L3129), [`ui/dr-ui/ui/library.slint:3234`](../../ui/dr-ui/ui/library.slint#L3234), [`ui/dr-ui/ui/library.slint:3385`](../../ui/dr-ui/ui/library.slint#L3385), [`ui/dr-ui/ui/library.slint:5014`](../../ui/dr-ui/ui/library.slint#L5014), [`ui/dr-ui/ui/library.slint:5052`](../../ui/dr-ui/ui/library.slint#L5052), [`ui/dr-ui/ui/library.slint:5156`](../../ui/dr-ui/ui/library.slint#L5156), [`ui/dr-ui/ui/library.slint:562`](../../ui/dr-ui/ui/library.slint#L562), [`ui/dr-ui/ui/library.slint:572`](../../ui/dr-ui/ui/library.slint#L572), [`ui/dr-ui/ui/library.slint:666`](../../ui/dr-ui/ui/library.slint#L666), [`ui/dr-ui/ui/library.slint:735`](../../ui/dr-ui/ui/library.slint#L735), [`ui/dr-ui/ui/settings.slint:121`](../../ui/dr-ui/ui/settings.slint#L121), [`ui/dr-ui/ui/settings.slint:172`](../../ui/dr-ui/ui/settings.slint#L172), [`ui/dr-ui/ui/settings.slint:632`](../../ui/dr-ui/ui/settings.slint#L632) | +| FR-UI-5 | [`core/dr-types/src/place.rs:118`](../../core/dr-types/src/place.rs#L118), [`tools/traceability/src/chord.rs:1`](../../tools/traceability/src/chord.rs#L1), [`tools/traceability/src/keymap.rs:1`](../../tools/traceability/src/keymap.rs#L1), [`ui/dr-ui/src/collections_ui/mod.rs:1`](../../ui/dr-ui/src/collections_ui/mod.rs#L1), [`ui/dr-ui/src/develop_ui.rs:897`](../../ui/dr-ui/src/develop_ui.rs#L897), [`ui/dr-ui/src/gestures.rs:139`](../../ui/dr-ui/src/gestures.rs#L139), [`ui/dr-ui/src/identity_ui.rs:1643`](../../ui/dr-ui/src/identity_ui.rs#L1643), [`ui/dr-ui/src/identity_ui.rs:802`](../../ui/dr-ui/src/identity_ui.rs#L802), [`ui/dr-ui/src/lib.rs:3414`](../../ui/dr-ui/src/lib.rs#L3414), [`ui/dr-ui/src/lib.rs:3432`](../../ui/dr-ui/src/lib.rs#L3432), [`ui/dr-ui/src/lib.rs:3446`](../../ui/dr-ui/src/lib.rs#L3446), [`ui/dr-ui/src/lib.rs:3627`](../../ui/dr-ui/src/lib.rs#L3627), [`ui/dr-ui/src/library/filters.rs:79`](../../ui/dr-ui/src/library/filters.rs#L79), [`ui/dr-ui/src/library_ui/filter_bar.rs:57`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L57), [`ui/dr-ui/src/library_ui/grid.rs:356`](../../ui/dr-ui/src/library_ui/grid.rs#L356), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1028`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1028), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1144`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1144), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1205`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1205), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1275`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1275), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:1301`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L1301), [`ui/dr-ui/src/library_ui/ratings_keywords.rs:457`](../../ui/dr-ui/src/library_ui/ratings_keywords.rs#L457), [`ui/dr-ui/src/masks_ui.rs:1655`](../../ui/dr-ui/src/masks_ui.rs#L1655), [`ui/dr-ui/src/place.rs:331`](../../ui/dr-ui/src/place.rs#L331), [`ui/dr-ui/src/settings_ui.rs:502`](../../ui/dr-ui/src/settings_ui.rs#L502), [`ui/dr-ui/ui/app.slint:1055`](../../ui/dr-ui/ui/app.slint#L1055), [`ui/dr-ui/ui/app.slint:1635`](../../ui/dr-ui/ui/app.slint#L1635), [`ui/dr-ui/ui/app.slint:2335`](../../ui/dr-ui/ui/app.slint#L2335), [`ui/dr-ui/ui/app.slint:2485`](../../ui/dr-ui/ui/app.slint#L2485), [`ui/dr-ui/ui/app.slint:2627`](../../ui/dr-ui/ui/app.slint#L2627), [`ui/dr-ui/ui/app.slint:2672`](../../ui/dr-ui/ui/app.slint#L2672), [`ui/dr-ui/ui/app.slint:2725`](../../ui/dr-ui/ui/app.slint#L2725), [`ui/dr-ui/ui/app.slint:2756`](../../ui/dr-ui/ui/app.slint#L2756), [`ui/dr-ui/ui/app.slint:3392`](../../ui/dr-ui/ui/app.slint#L3392), [`ui/dr-ui/ui/app.slint:3411`](../../ui/dr-ui/ui/app.slint#L3411), [`ui/dr-ui/ui/app.slint:393`](../../ui/dr-ui/ui/app.slint#L393), [`ui/dr-ui/ui/app.slint:652`](../../ui/dr-ui/ui/app.slint#L652), [`ui/dr-ui/ui/app.slint:659`](../../ui/dr-ui/ui/app.slint#L659), [`ui/dr-ui/ui/app.slint:663`](../../ui/dr-ui/ui/app.slint#L663), [`ui/dr-ui/ui/app.slint:669`](../../ui/dr-ui/ui/app.slint#L669), [`ui/dr-ui/ui/app.slint:725`](../../ui/dr-ui/ui/app.slint#L725), [`ui/dr-ui/ui/collections.slint:110`](../../ui/dr-ui/ui/collections.slint#L110), [`ui/dr-ui/ui/collections.slint:4`](../../ui/dr-ui/ui/collections.slint#L4), [`ui/dr-ui/ui/develop.slint:168`](../../ui/dr-ui/ui/develop.slint#L168), [`ui/dr-ui/ui/develop.slint:55`](../../ui/dr-ui/ui/develop.slint#L55), [`ui/dr-ui/ui/export.slint:1`](../../ui/dr-ui/ui/export.slint#L1), [`ui/dr-ui/ui/export.slint:384`](../../ui/dr-ui/ui/export.slint#L384), [`ui/dr-ui/ui/identity.slint:294`](../../ui/dr-ui/ui/identity.slint#L294), [`ui/dr-ui/ui/identity.slint:400`](../../ui/dr-ui/ui/identity.slint#L400), [`ui/dr-ui/ui/keys.slint:1`](../../ui/dr-ui/ui/keys.slint#L1), [`ui/dr-ui/ui/library.slint:1039`](../../ui/dr-ui/ui/library.slint#L1039), [`ui/dr-ui/ui/library.slint:1609`](../../ui/dr-ui/ui/library.slint#L1609), [`ui/dr-ui/ui/library.slint:1618`](../../ui/dr-ui/ui/library.slint#L1618), [`ui/dr-ui/ui/library.slint:1623`](../../ui/dr-ui/ui/library.slint#L1623), [`ui/dr-ui/ui/library.slint:1635`](../../ui/dr-ui/ui/library.slint#L1635), [`ui/dr-ui/ui/library.slint:1883`](../../ui/dr-ui/ui/library.slint#L1883), [`ui/dr-ui/ui/library.slint:2012`](../../ui/dr-ui/ui/library.slint#L2012), [`ui/dr-ui/ui/library.slint:2652`](../../ui/dr-ui/ui/library.slint#L2652), [`ui/dr-ui/ui/library.slint:3095`](../../ui/dr-ui/ui/library.slint#L3095), [`ui/dr-ui/ui/library.slint:3171`](../../ui/dr-ui/ui/library.slint#L3171), [`ui/dr-ui/ui/library.slint:3190`](../../ui/dr-ui/ui/library.slint#L3190), [`ui/dr-ui/ui/library.slint:3196`](../../ui/dr-ui/ui/library.slint#L3196), [`ui/dr-ui/ui/library.slint:3203`](../../ui/dr-ui/ui/library.slint#L3203), [`ui/dr-ui/ui/library.slint:3223`](../../ui/dr-ui/ui/library.slint#L3223), [`ui/dr-ui/ui/library.slint:3234`](../../ui/dr-ui/ui/library.slint#L3234), [`ui/dr-ui/ui/library.slint:3312`](../../ui/dr-ui/ui/library.slint#L3312), [`ui/dr-ui/ui/library.slint:3385`](../../ui/dr-ui/ui/library.slint#L3385), [`ui/dr-ui/ui/library.slint:3988`](../../ui/dr-ui/ui/library.slint#L3988), [`ui/dr-ui/ui/library.slint:5069`](../../ui/dr-ui/ui/library.slint#L5069), [`ui/dr-ui/ui/library.slint:642`](../../ui/dr-ui/ui/library.slint#L642), [`ui/dr-ui/ui/library.slint:660`](../../ui/dr-ui/ui/library.slint#L660), [`ui/dr-ui/ui/library.slint:681`](../../ui/dr-ui/ui/library.slint#L681), [`ui/dr-ui/ui/presets.slint:332`](../../ui/dr-ui/ui/presets.slint#L332), [`ui/dr-ui/ui/session.slint:75`](../../ui/dr-ui/ui/session.slint#L75) | | FR-UI-6 | [`ui/dr-ui/ui/widgets.slint:1`](../../ui/dr-ui/ui/widgets.slint#L1) | | FR-UI-7 | [`core/dr-pipeline/src/descriptor.rs:195`](../../core/dr-pipeline/src/descriptor.rs#L195), [`core/dr-pipeline/src/framing.rs:555`](../../core/dr-pipeline/src/framing.rs#L555), [`core/dr-types/src/settings.rs:492`](../../core/dr-types/src/settings.rs#L492), [`ui/dr-ui/src/develop/rows.rs:118`](../../ui/dr-ui/src/develop/rows.rs#L118), [`ui/dr-ui/src/lib.rs:3239`](../../ui/dr-ui/src/lib.rs#L3239), [`ui/dr-ui/ui/adjust.slint:1000`](../../ui/dr-ui/ui/adjust.slint#L1000), [`ui/dr-ui/ui/app.slint:2173`](../../ui/dr-ui/ui/app.slint#L2173), [`ui/dr-ui/ui/settings.slint:657`](../../ui/dr-ui/ui/settings.slint#L657), [`ui/dr-ui/ui/toolrail.slint:89`](../../ui/dr-ui/ui/toolrail.slint#L89) | | FR-UI-8 | [`core/dr-catalog/src/collections.rs:654`](../../core/dr-catalog/src/collections.rs#L654), [`core/dr-catalog/src/collections.rs:675`](../../core/dr-catalog/src/collections.rs#L675), [`core/dr-types/src/place.rs:1`](../../core/dr-types/src/place.rs#L1), [`ui/dr-ui/src/derived_sync.rs:226`](../../ui/dr-ui/src/derived_sync.rs#L226), [`ui/dr-ui/src/derived_sync.rs:84`](../../ui/dr-ui/src/derived_sync.rs#L84), [`ui/dr-ui/src/derived_sync.rs:905`](../../ui/dr-ui/src/derived_sync.rs#L905), [`ui/dr-ui/src/derived_sync.rs:915`](../../ui/dr-ui/src/derived_sync.rs#L915), [`ui/dr-ui/src/derived_sync.rs:997`](../../ui/dr-ui/src/derived_sync.rs#L997), [`ui/dr-ui/src/library/cells.rs:274`](../../ui/dr-ui/src/library/cells.rs#L274), [`ui/dr-ui/src/library/cells.rs:553`](../../ui/dr-ui/src/library/cells.rs#L553), [`ui/dr-ui/src/library/cells.rs:619`](../../ui/dr-ui/src/library/cells.rs#L619), [`ui/dr-ui/src/library/paths.rs:22`](../../ui/dr-ui/src/library/paths.rs#L22), [`ui/dr-ui/src/library_ui/controller.rs:205`](../../ui/dr-ui/src/library_ui/controller.rs#L205), [`ui/dr-ui/src/library_ui/controller.rs:942`](../../ui/dr-ui/src/library_ui/controller.rs#L942), [`ui/dr-ui/src/library_ui/filter_bar.rs:793`](../../ui/dr-ui/src/library_ui/filter_bar.rs#L793), [`ui/dr-ui/src/library_ui/grid.rs:172`](../../ui/dr-ui/src/library_ui/grid.rs#L172), [`ui/dr-ui/src/library_ui/grid.rs:285`](../../ui/dr-ui/src/library_ui/grid.rs#L285), [`ui/dr-ui/src/library_ui/grid.rs:327`](../../ui/dr-ui/src/library_ui/grid.rs#L327), [`ui/dr-ui/src/library_ui/grid.rs:668`](../../ui/dr-ui/src/library_ui/grid.rs#L668), [`ui/dr-ui/src/library_ui/grid.rs:794`](../../ui/dr-ui/src/library_ui/grid.rs#L794), [`ui/dr-ui/src/library_ui/open.rs:118`](../../ui/dr-ui/src/library_ui/open.rs#L118), [`ui/dr-ui/src/library_ui/open.rs:36`](../../ui/dr-ui/src/library_ui/open.rs#L36), [`ui/dr-ui/src/library_ui/open.rs:71`](../../ui/dr-ui/src/library_ui/open.rs#L71), [`ui/dr-ui/src/library_ui/open.rs:839`](../../ui/dr-ui/src/library_ui/open.rs#L839), [`ui/dr-ui/src/library_ui/open.rs:856`](../../ui/dr-ui/src/library_ui/open.rs#L856), [`ui/dr-ui/src/library_ui/open.rs:954`](../../ui/dr-ui/src/library_ui/open.rs#L954), [`ui/dr-ui/src/place.rs:1`](../../ui/dr-ui/src/place.rs#L1) | diff --git a/ui/dr-ui/ui/app.slint b/ui/dr-ui/ui/app.slint index 2b7892e..bed497e 100644 --- a/ui/dr-ui/ui/app.slint +++ b/ui/dr-ui/ui/app.slint @@ -9,7 +9,7 @@ import { LaunchScreen } from "launch.slint"; import { IdentityScreen, IdentityPerson, IdentityFace } from "identity.slint"; import { LibraryGrid, LibraryCell, TimelineBar, PhotoRoll, KeywordRow, PersonChip, Library } from "library.slint"; import { GestureRow, GestureSheet } from "gestures.slint"; -import { Button, PanelHeading, Label, Value, Caption, Panel, EmptyState, ProgressBar, ActivityRow, Scrolling } from "widgets.slint"; +import { Button, PanelHeading, Label, Value, Caption, Panel, EmptyState, ProgressBar, ActivityRow, Scrolling, ScrollBar } from "widgets.slint"; import { CollectionsPanel, CollectionRow, Collections, OfflinePrompt, CollectionMenu, MembershipSheet, MembershipRow } from "collections.slint"; import { HistogramPanel, HistogramView, Levels } from "histogram.slint"; @@ -3124,175 +3124,192 @@ in property panel-visible: true; // before. `GroupStrip.live` holds the rule. GroupStrip { } - Flickable { - viewport-height: column.preferred-height; - // **And the width, or the column is drawn centred - // over its own edges.** - // - // Unset, a Flickable's viewport takes its content's - // preferred width, and a viewport wider than the - // Flickable is *centred* in it — the same rule the - // note on the seam's `x: 0` below records. So a - // column narrower than what it held did not clip - // the right-hand side and keep the left, it lost - // half of each: "HISTOGRAM" read "ISTOGRAM", - // "Straighten" read "aighten", and Paste ran off - // the far side. It looked like a rendering fault - // and it was an alignment one. - // - // **`min-width`, not `preferred-width`, and that is - // what makes a mandated column work at all.** - // - // With the preferred width here, the content laid - // itself out at whatever size it would have liked - // and the column clipped the difference: Paste came - // out sliced down the middle and the panel's reset - // was over the window's edge. That is the same - // fault as above wearing a different hat — the - // content was never told how much room it had, so - // it could not adapt to having less. - // - // The floor is the layout's *minimum* instead. A - // preferred width is what a panel would enjoy; a - // minimum is what it cannot go below, and between - // the two the layout does the work it exists to do - // — rows tighten, stretches give way — so the - // column fits because it was asked to rather than - // by luck. - // - // That does less here than it sounds like, and it - // is worth knowing why: this column's minimum and - // its preferred width are within a few pixels of - // each other, because a `Text` that does not elide - // reports the same for both and most of what is in - // here is text. So `panel-width` still has to be a - // number the contents actually fit in — see its - // note in `style.yaml` for the measurement. What - // this binding buys is that the clipping, when it - // comes, is of a panel that genuinely cannot - // shrink rather than of one that simply was not - // asked to, and that panning is then a real - // fallback rather than a permanent condition. - viewport-width: max(self.width, column.min-width); - interactive: !adjust.slider-dragging; + Rectangle { + vertical-stretch: 1; + column-flick := Flickable { + width: parent.width; + height: parent.height; + viewport-height: column.preferred-height; + // **And the width, or the column is drawn centred + // over its own edges.** + // + // Unset, a Flickable's viewport takes its content's + // preferred width, and a viewport wider than the + // Flickable is *centred* in it — the same rule the + // note on the seam's `x: 0` below records. So a + // column narrower than what it held did not clip + // the right-hand side and keep the left, it lost + // half of each: "HISTOGRAM" read "ISTOGRAM", + // "Straighten" read "aighten", and Paste ran off + // the far side. It looked like a rendering fault + // and it was an alignment one. + // + // **`min-width`, not `preferred-width`, and that is + // what makes a mandated column work at all.** + // + // With the preferred width here, the content laid + // itself out at whatever size it would have liked + // and the column clipped the difference: Paste came + // out sliced down the middle and the panel's reset + // was over the window's edge. That is the same + // fault as above wearing a different hat — the + // content was never told how much room it had, so + // it could not adapt to having less. + // + // The floor is the layout's *minimum* instead. A + // preferred width is what a panel would enjoy; a + // minimum is what it cannot go below, and between + // the two the layout does the work it exists to do + // — rows tighten, stretches give way — so the + // column fits because it was asked to rather than + // by luck. + // + // That does less here than it sounds like, and it + // is worth knowing why: this column's minimum and + // its preferred width are within a few pixels of + // each other, because a `Text` that does not elide + // reports the same for both and most of what is in + // here is text. So `panel-width` still has to be a + // number the contents actually fit in — see its + // note in `style.yaml` for the measurement. What + // this binding buys is that the clipping, when it + // comes, is of a panel that genuinely cannot + // shrink rather than of one that simply was not + // asked to, and that panning is then a real + // fallback rather than a permanent condition. + viewport-width: max(self.width, column.min-width); + interactive: !adjust.slider-dragging; - // **What the column holds is the mode's answer.** - // - // In local mode it is the mask stack and then the - // selected layer's adjustments, and nothing else: - // the capture metadata describes the file, copy and - // paste move a whole edit between photographs, and - // framing is a decision about the picture's shape — - // none of the three is a property of a region - // within it, so all three would be controls in - // scope of nothing. - // - // **Each child carries its own condition** rather - // than the three being grouped inside one `if`. - // A nested layout under-reports its height here and - // the panels below it get drawn on top of each - // other — invisible in this file and obvious on - // screen. `masks.slint` carries the same note for - // the same reason. - column := VerticalLayout { - if !Develop.local-mode && !Develop.repairing: InfoPanel { } + // **What the column holds is the mode's answer.** + // + // In local mode it is the mask stack and then the + // selected layer's adjustments, and nothing else: + // the capture metadata describes the file, copy and + // paste move a whole edit between photographs, and + // framing is a decision about the picture's shape — + // none of the three is a property of a region + // within it, so all three would be controls in + // scope of nothing. + // + // **Each child carries its own condition** rather + // than the three being grouped inside one `if`. + // A nested layout under-reports its height here and + // the panels below it get drawn on top of each + // other — invisible in this file and obvious on + // screen. `masks.slint` carries the same note for + // the same reason. + column := VerticalLayout { + if !Develop.local-mode && !Develop.repairing: InfoPanel { } - if !Develop.local-mode && !Develop.repairing: Rectangle { - height: 1px; - background: Theme.rule; + if !Develop.local-mode && !Develop.repairing: Rectangle { + height: 1px; + background: Theme.rule; + } + + // Directly under the capture metadata and above every + // control, because it is the thing the controls are + // judged against: exposure, blacks and whites are all + // set by watching this move (FR-DSP-7). An instrument + // below the sliders it reports on would have the + // photographer looking away from it to use it. + // + // Kept in local mode, where it still reports the + // whole frame while the sliders edit a layer. That + // disagreement is real and is N3's to close; taking + // the instrument away instead would be a worse + // answer than an honest one that is not yet scoped. + HistogramPanel { } + + Rectangle { + height: 1px; + background: Theme.rule; + } + + // TRACES: FR-CULL-3 + // Under the histogram, because the two are the same + // kind of thing: instruments that report on the + // photograph rather than change it. Kept in every + // mode for the same reason the histogram is. + FocusPanel { } + + Rectangle { + height: 1px; + background: Theme.rule; + } + + // Framing above the colour work, matching how the edit is + // made rather than how it is applied: the frame is decided + // by eye first and the pipeline runs it last (see + // `dr_pipeline::framing` on the coordinate order). + if !Develop.local-mode && !Develop.repairing: ComposePanel { } + + Rectangle { + height: 1px; + background: Theme.rule; + } + + // Above the adjust panel, because it decides what + // those sliders act on. Below it, the photographer + // would set an exposure and only then discover which + // scope it landed in. + // + // Only in local mode: it is no longer a panel among + // peers that silently re-points another panel, it is + // what that mode's column *is*. That also takes one + // panel out of a scrolling column that had six. + // TRACES: FR-DEV-8 + // What the column *is* in repair mode, on the same + // terms as the mask panel: not a panel among peers + // that quietly re-points the sliders below it, but + // the whole of what this mode has to say. + if Develop.repairing: SpotPanel { } + + if Develop.repairing: Rectangle { + height: 1px; + background: Theme.rule; + } + + if Develop.local-mode: MaskPanel { } + + if Develop.local-mode: Rectangle { + height: 1px; + background: Theme.rule; + } + + adjust := AdjustPanel { } + + Rectangle { + height: 1px; + background: Theme.rule; + } + + // Last in the column, and the length is why. The + // stack runs sixty-four deep, so anywhere else it + // would push the controls it is a record of below + // the fold. Its own rows run newest-first, which + // puts the steps worth reaching immediately under + // the heading rather than at the far end of them. + // + // Present in local mode as well. The mask work + // *is* history — adding a layer, moving a + // gradient and feathering an edge are all steps — + // and a list that emptied when the photographer + // entered the mode that produces the most steps + // would be a list they stopped trusting. + HistoryPanel { } + } } - // Directly under the capture metadata and above every - // control, because it is the thing the controls are - // judged against: exposure, blacks and whites are all - // set by watching this move (FR-DSP-7). An instrument - // below the sliders it reports on would have the - // photographer looking away from it to use it. - // - // Kept in local mode, where it still reports the - // whole frame while the sliders edit a layer. That - // disagreement is real and is N3's to close; taking - // the instrument away instead would be a worse - // answer than an honest one that is not yet scoped. - HistogramPanel { } - - Rectangle { - height: 1px; - background: Theme.rule; - } - - // TRACES: FR-CULL-3 - // Under the histogram, because the two are the same - // kind of thing: instruments that report on the - // photograph rather than change it. Kept in every - // mode for the same reason the histogram is. - FocusPanel { } - - Rectangle { - height: 1px; - background: Theme.rule; - } - - // Framing above the colour work, matching how the edit is - // made rather than how it is applied: the frame is decided - // by eye first and the pipeline runs it last (see - // `dr_pipeline::framing` on the coordinate order). - if !Develop.local-mode && !Develop.repairing: ComposePanel { } - - Rectangle { - height: 1px; - background: Theme.rule; - } - - // Above the adjust panel, because it decides what - // those sliders act on. Below it, the photographer - // would set an exposure and only then discover which - // scope it landed in. - // - // Only in local mode: it is no longer a panel among - // peers that silently re-points another panel, it is - // what that mode's column *is*. That also takes one - // panel out of a scrolling column that had six. - // TRACES: FR-DEV-8 - // What the column *is* in repair mode, on the same - // terms as the mask panel: not a panel among peers - // that quietly re-points the sliders below it, but - // the whole of what this mode has to say. - if Develop.repairing: SpotPanel { } - - if Develop.repairing: Rectangle { - height: 1px; - background: Theme.rule; - } - - if Develop.local-mode: MaskPanel { } - - if Develop.local-mode: Rectangle { - height: 1px; - background: Theme.rule; - } - - adjust := AdjustPanel { } - - Rectangle { - height: 1px; - background: Theme.rule; - } - - // Last in the column, and the length is why. The - // stack runs sixty-four deep, so anywhere else it - // would push the controls it is a record of below - // the fold. Its own rows run newest-first, which - // puts the steps worth reaching immediately under - // the heading rather than at the far end of them. - // - // Present in local mode as well. The mask work - // *is* history — adding a layer, moving a - // gradient and feathering an edge are all steps — - // and a list that emptied when the photographer - // entered the mode that produces the most steps - // would be a list they stopped trusting. - HistoryPanel { } + // The column's bar, on a desktop: the sliders and the history run far + // past the window, and without it a mouse with no wheel had no way to + // see how far, or to get there. Over the column's right-hand edge + // rather than beside it, so the mandated width is not paid for twice. + ScrollBar { + x: parent.width - self.width; + y: 0px; + viewport-y <=> column-flick.viewport-y; + viewport-height: column-flick.viewport-height; + visible-height: column-flick.height; } } }