git.lucas.co / cce-system-interface
system settings
git clone https://git.lucas.co/cce-system-interface.git

commitde41bba9fe1e897e31906a5dd7a37c1cee2bd490
parent33241e0ac3
authorLucas Galante <[email protected]>
date2026-07-13 10:03
refactor: tree walks read ctx.tree directly (children/parent left WidgetHost)

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01N4ajhvVZtyEEEus9bodsj3

 src/input_handler.rs | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/input_handler.rs b/src/input_handler.rs
index 4b260f5..2ee201a 100644
--- a/src/input_handler.rs
+++ b/src/input_handler.rs
@@ -438,12 +438,9 @@ impl SystemInterface {
                 // one FOCUSED_WIDGET). Nav within a section walks the page's widget
                 // group where the container's child list used to be walked.
                 if cce_ui::widget::focus::has_focus() {
-                    // Widget-internal nav first (ctrl+i descend into a widget's own
-                    // children still works through the pointer walk).
-                    if cce_ui::widget::focus::navigate_focus(&event.logical_key, event.ctrl, &mut self.ui_context) {
-                        self.needs_rebuild = true;
-                        return true;
-                    }
+                    // (`focus::navigate_focus` is gone — it walked an empty dummy context
+                    // and always returned false here; the section machinery below is the
+                    // real ctrl-nav.)
                     let groups = self.app.get_current_page_mut().section_widgets();
                     let focused_pos = groups.iter().enumerate().find_map(|(si, g)| {
                         g.iter()