tui: F5 thalamus screen, fix HashMap ordering, Screen enum

- Add Thalamus variant to Screen enum (F5)
- Fix HashMap iteration ordering causing flickering in F4/F5
  screens by using BTreeMap in supervisor and sorting plan_counts
- Update screen legend: F1=interact F2=conscious F3=subconscious
  F4=unconscious F5=thalamus
- Add dirty bit field to App (prep for event-driven rendering)

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
Kent Overstreet 2026-04-03 18:38:49 -04:00
parent 604f442215
commit db42bf6243
2 changed files with 10 additions and 3 deletions

View file

@ -134,8 +134,11 @@ impl App {
// Plan summary
let plan_total: usize = gh.plan_counts.values().sum::<usize>() + 1;
let plan_summary: Vec<String> = gh.plan_counts.iter()
let mut plan_items: Vec<_> = gh.plan_counts.iter()
.filter(|(_, c)| **c > 0)
.collect();
plan_items.sort_by(|a, b| a.0.cmp(b.0));
let plan_summary: Vec<String> = plan_items.iter()
.map(|(a, c)| format!("{}{}", &a[..1], c))
.collect();
let plan_line = Line::from(vec![