FrameThread | Which thread draws, claimed by the frame loop as it starts. Views, widgets, atoms and the surface are written without locks, and this is what turns that convention into something the framework checks. |
InputRouter | Decides who gets a key or a mouse event, in order: an open dialog, the palette key, the view's commands, the commands available everywhere, then the view. A handler that throws is reported on the output line. |
Repaint | The "this frame is stale" signal the render loop waits on. Input, navigation, state changes and atom writes raise it for you; raise it yourself when something else changes what a view draws. |
Screen | Draws the frames: the current view first, inside the IArlecchinoLayout when there is one, then the output line, the keys and any dialog on top. A view that throws is reported on the output line rather than taking the application down. |
SystemTerminal | The real console, registered by default and replaceable through UseTerminal<T>(). On Windows it turns virtual terminal output on, virtual terminal input off, and borrows Ctrl+C while it has the terminal. |