988e8b29bb
Activates the v1.27-deferred fold/expand feature. The tree view from v1.27 is now interactive: pressing Space on a parent row toggles whether its descendants are visible. - New App.folded: BTreeSet<u32> (PIDs whose subtrees are collapsed; stable iteration order for future debug dumps) - New App.process_cursor: usize (Process-tab cursor; distinct from table_state which tracks the Per-CPU tab) - New process::apply_fold(processes, folded) -> Vec<ProcessInfo> Hides descendants of any PID in . The fold target itself stays visible. Roots are never hidden. Cycles tolerated (sort_tree's visited set prevents infinite loops). - Fold indicator in tree_prefix: \u25b6 for folded, \u25bc for expanded, no marker for leaf rows - Space keypress (in tree mode only) toggles fold on the cursor's selected PID; flashes 'folded PID N' or 'unfolded PID N' (or 'has no children to fold' for leaves) - sort_tree kept pure; apply_fold is a separate post-step applied in app.rs after sort_tree Test count 107 -> 111 (+4): - apply_fold_empty_set_is_identity - apply_fold_hides_descendants_of_folded_root (folds root) - apply_fold_hides_subtree_of_folded_child (folds middle; sibling of folded node stays visible) - apply_fold_unfold_restores (toggle off) Redox stripped binary: 4,180,840 bytes (-8 KiB from v1.28; linker dedup'd some shared code). Compile warnings: 55 (unchanged). Notes: - No cursor navigation yet (j/k, down/up). Default cursor is row 0, so user can fold the first process but cannot yet move down. Defer to v1.30. - No persist of fold state across redbear-power restarts. Would require a config file. Defer. Docs: local/docs/redbear-power-improvement-plan.md \xC2\xA753