consciousness/src/user
Kent Overstreet 927cddd864 user: ScreenView trait, overlay screens extracted from App
Convert F2-F5 screens to ScreenView trait with tick() method.
Each screen owns its view state (scroll, selection, expanded).
State persists across screen switches.

- ThalamusScreen: owns sampling_selected, scroll
- ConsciousScreen: owns scroll, selected, expanded
- SubconsciousScreen: owns selected, log_view, scroll
- UnconsciousScreen: owns scroll

Removed from App: Screen enum, debug_scroll, debug_selected,
debug_expanded, agent_selected, agent_log_view, sampling_selected,
set_screen(), per-screen key handling, draw dispatch.

App now only draws the interact (F1) screen. Overlay screens are
drawn by the event loop via ScreenView::tick. F-key routing and
screen instantiation to be wired in event_loop next.

InteractScreen (state-driven, reading from agent entries) is the
next step — will eliminate the input display race condition.

Co-Authored-By: Kent Overstreet <kent.overstreet@linux.dev>
2026-04-05 17:54:40 -04:00
..
chat.rs user: ScreenView trait, overlay screens extracted from App 2026-04-05 17:54:40 -04:00
context.rs user: ScreenView trait, overlay screens extracted from App 2026-04-05 17:54:40 -04:00
event_loop.rs user: ScreenView trait, overlay screens extracted from App 2026-04-05 17:54:40 -04:00
mod.rs user: ScreenView trait, overlay screens extracted from App 2026-04-05 17:54:40 -04:00
subconscious.rs user: ScreenView trait, overlay screens extracted from App 2026-04-05 17:54:40 -04:00
thalamus.rs user: ScreenView trait, overlay screens extracted from App 2026-04-05 17:54:40 -04:00
ui_channel.rs split out src/mind 2026-04-04 02:46:32 -04:00
unconscious.rs user: ScreenView trait, overlay screens extracted from App 2026-04-05 17:54:40 -04:00