Reconcile what four branches each built separately

Three seams, found by the first compile after the merge.

Two branches implemented 'can this scope be reordered' independently:
one from the collections model, one from the catalog through
orders_manually, on every re-read and excluding the trash. The second is
the better answer and is what survives; it only needed to set the
property app.slint declares.

Two lints from scene-mask-ui, which was merged mid-flight and had never
been through -D warnings: an is_none check spelled out where clippy wants
?, and a return in a cfg block's tail.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-30 16:51:41 +02:00
co-authored by Claude Opus 5
parent 19b56ad85c
commit 94b1b9e0cc
3 changed files with 3 additions and 5 deletions
+1 -3
View File
@@ -2648,9 +2648,7 @@ impl DevelopSession {
// Refuse a category this run did not produce rather than creating a
// layer that renders empty: an empty mask looks like a broken
// adjustment, where a button that does nothing at least says so.
if seg.category_mask(name).is_none() {
return None;
}
seg.category_mask(name)?;
let id = self.graph.masks().next_id();
let mut layer = MaskLayer::new(
+1 -1
View File
@@ -2255,7 +2255,7 @@ fn load_window(window: &AppWindow, ctl: &Rc<LibraryController>) {
//
// The trash is never reorderable. It is a view of what was deleted, ordered
// by when, and it is not a collection at all.
window.set_library_manual_order(
window.set_library_reorderable(
!trash
&& scope.is_some_and(|c| {
dr_catalog::collections::orders_manually(catalog.connection(), c).unwrap_or(false)
+1 -1
View File
@@ -590,7 +590,7 @@ fn scene_categories(
fn load_scene_model() -> Result<dr_segment::SceneModel, String> {
#[cfg(feature = "scene-model")]
{
return dr_segment::SceneModel::embedded().map_err(|e| e.to_string());
dr_segment::SceneModel::embedded().map_err(|e| e.to_string())
}
#[cfg(not(feature = "scene-model"))]
{