diff --git a/crates/engine/src/tests_layers.rs b/crates/engine/src/tests_layers.rs index 26ea99f4..6ad69cf3 100644 --- a/crates/engine/src/tests_layers.rs +++ b/crates/engine/src/tests_layers.rs @@ -187,7 +187,7 @@ fn layer_options_validate_and_template_locks_and_dims() { } let color = |s: &Session| match node(s, layer).kind { NodeKind::Layer { color, .. } => color, - _ => unreachable!(), + _ => panic!("not a layer"), }; run(&mut s, "layer.setProps", json!({"id": layer.0, "color": "red"})); assert_eq!(color(&s), LayerColor::Preset(1)); diff --git a/crates/ui-egui/src/panels/layers.rs b/crates/ui-egui/src/panels/layers.rs index ac014d12..3e6b8ee4 100644 --- a/crates/ui-egui/src/panels/layers.rs +++ b/crates/ui-egui/src/panels/layers.rs @@ -748,6 +748,9 @@ fn thumb(ui: &Ui, n: &Node, r: egui::Rect) { }); } +/// A panel menu item: label, command, params, enabled, checked. +type MenuItem<'a> = (&'a str, &'a str, Value, bool, bool); + /// The Layers panel's (≡) menu. pub fn menu(app: &mut VectorcraftApp, ui: &mut Ui) { let Some(st) = app.session.active() else { return }; @@ -772,7 +775,7 @@ pub fn menu(app: &mut VectorcraftApp, ui: &mut Ui) { all_layers.push(n); } }); - let mut items: Vec> = vec![ + let mut items: Vec> = vec![ Some(("New Layer…", "ui.newLayer", json!({}), true, false)), Some(("New Sublayer…", "ui.newLayer", json!({"sublayer": true}), current.is_some(), false)), Some(("Duplicate Selection", "layer.duplicate", json!({}), !targets.is_empty(), false)),