From 226cf632030b7ff86a65ec79b25fa97a54dc799c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 31 Oct 2026 21:00:38 +0100 Subject: [PATCH 001/172] Start Figma editor interaction and presentation review From 279be584e36f2865b6aff895253462c21e85fb9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sat, 31 Oct 2026 21:01:31 +0100 Subject: [PATCH 002/172] Give the native editor chrome a clearer hierarchy and move zoom into the inspector header --- crates/ferrodesign-app/ui/Editor.xaml | 45 ++++++++++++++++----------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/crates/ferrodesign-app/ui/Editor.xaml b/crates/ferrodesign-app/ui/Editor.xaml index 9cd56d0..be055a5 100644 --- a/crates/ferrodesign-app/ui/Editor.xaml +++ b/crates/ferrodesign-app/ui/Editor.xaml @@ -21,6 +21,14 @@ + + - - - + + + + + + + + + + + + + - + + + @@ -108,6 +117,7 @@ HorizontalContentAlignment="Left" VerticalContentAlignment="Top"/> + - + + + + @@ -173,7 +184,7 @@ - + diff --git a/docs/GUIDE.md b/docs/GUIDE.md index 03552e1..7336ac4 100644 --- a/docs/GUIDE.md +++ b/docs/GUIDE.md @@ -73,6 +73,7 @@ Select one or several layers and drag between layout frames, ordinary frames or | Group / ungroup | `Ctrl`/`Cmd+G` / `Ctrl`/`Cmd+Shift+G` | | Move selection | Arrow keys; hold `Shift` for 10 units | | Parent / children / siblings | `Shift+Enter` / `Enter` / `Tab` and `Shift+Tab` | +| Find layers on this page | From the canvas press `Ctrl`/`Cmd+F`. Search reveals matching descendants. `Esc` clears the query and restores the tree. | | Select inverse | `Ctrl`/`Cmd+Shift+A` | | Cycle overlapping layers | `Alt`+click / `Shift+Alt`+click, or `Alt+[` / `Alt+]` | | Deep selection with Select groups enabled | `Ctrl`/`Cmd`+click; double-click descends one group | From fa63a58e8cc6d5094098bf4636112a6caa185c73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sun, 1 Nov 2026 08:13:09 +0100 Subject: [PATCH 084/172] Rank quick actions by shortcut and name across editor menus --- crates/ferrodesign-app/src/shell.rs | 2 +- crates/ferrodesign-app/src/shell/actions.rs | 140 ++++++++++++++++---- crates/ferrodesign-app/ui/Editor.xaml | 11 ++ 3 files changed, 125 insertions(+), 28 deletions(-) diff --git a/crates/ferrodesign-app/src/shell.rs b/crates/ferrodesign-app/src/shell.rs index 5fe032a..cebf326 100644 --- a/crates/ferrodesign-app/src/shell.rs +++ b/crates/ferrodesign-app/src/shell.rs @@ -2034,7 +2034,7 @@ impl EditorShell { return true; } "actions" => { - self.action_dialog("Actions", "Choose a tool or run a command.", ACTIONS); + self.quick_actions(); return true; } "close-modal" => { diff --git a/crates/ferrodesign-app/src/shell/actions.rs b/crates/ferrodesign-app/src/shell/actions.rs index 93ad832..0e3a7e1 100644 --- a/crates/ferrodesign-app/src/shell/actions.rs +++ b/crates/ferrodesign-app/src/shell/actions.rs @@ -1,39 +1,79 @@ //! Keyboard and pointer activation share the editor command dispatcher. use super::*; use ferroui_base::interactivity::RoutingStrategies; -use ferroui_controls::automation::AutomationProperties; +use ferroui_controls::{automation::AutomationProperties, ScrollViewer}; struct ActionRow { label: String, + shortcut: String, searchable: String, command: &'static str, button: Ref + + + + + + - - @@ -320,6 +322,10 @@ -