# Console Run `scenes/console_demo.tscn` for simulated commands and a journal feed, or add **Console** from the layout library. | Tab | Shortcut | Input | | --- | --- | --- | | ROV | F5 | ROV shell command | | Host | F6 | Host shell command | | Logs | F7 | Case-insensitive log filter | | Server | F8 | Server command | A shortcut selects its tab and focuses its input across either dashboard window. Escape releases focus. Ctrl+Tab / Ctrl+Shift+Tab cycle tabs, Ctrl+L clears the current output, and Up/Down recall commands. Each tab retains its draft, history and output. Follow controls automatic scrolling; Clear keeps command history. Output supports selection and copying. Shortcuts are exported on the session nodes in `components/console_panel.tscn`. Conflicting shortcuts show “in use”; the first visible panel owns them. Layout editing suspends console input and shortcuts. Placement persists with the layout; console contents and command history do not. ## Transport hooks `components/console_panel.tscn` owns four instances of `console_session.tscn`. Controls and tabs live in the scene tree and inherit the shared theme. Output, prompts and inputs share `themes/console_mono.tres`, with full hinting, 2× oversampling and slightly strengthened strokes for legibility under scaling. - Connect `command_requested(session_id, command)` to a transport. - Call `set_connection(session_id, connected, message)` to update availability and status. - Call `append_output(session_id, text)` to deliver output, including trailing newlines where appropriate. - Session IDs are `rov`, `host`, `logs`, and `server`. The component starts disconnected and rejects command dispatch until connected with a handler attached. Logs are read-only. Scrollback is bounded by each session's `max_scrollback_characters`. This is a line-oriented frontend. SSH, local processes, journal streaming, ANSI/VT terminal emulation and interactive full-screen programs are not connected. The demo only simulates responses and never executes system commands.