@@ -19,58 +19,8 @@ Instead of abstract "services" and "controllers", BitTTY uses concrete component
1919- ** Monitor** : shows stuff on screen
2020- ** Keyboard** : gets keypresses
2121
22- ## Current Architecture
22+ ## Architecture
2323
24- ```
25- BitTTY (Board)
26- ├── Parser (command_parser.py)
27- │ └── converts bytes → Commands → dispatch to devices
28- │
29- ├── Devices (all inherit from Device)
30- │ ├── MonitorDevice
31- │ │ ├── Buffer (primary_buffer)
32- │ │ ├── Buffer (alt_buffer)
33- │ │ ├── cursor position (x, y)
34- │ │ ├── character sets (G0-G3)
35- │ │ ├── screen modes (alt screen, scroll regions)
36- │ │ ├── SGR processing (colors, styles)
37- │ │ └── text rendering
38- │ │
39- │ ├── TTYMonitorDevice (extends MonitorDevice)
40- │ │ ├── terminfo queries
41- │ │ ├── host terminal capabilities
42- │ │ └── ANSI output to sys.stdout
43- │ │
44- │ ├── ConnectionDevice
45- │ │ ├── PTY management
46- │ │ ├── process spawning
47- │ │ ├── termios control
48- │ │ └── I/O with child process
49- │ │
50- │ ├── TTYInputDevice
51- │ │ ├── raw mode setup
52- │ │ ├── stdin reading
53- │ │ └── key translation
54- │ │
55- │ ├── BellDevice
56- │ │ └── AudioBellDevice / VisualBellDevice
57- │ │
58- │ ├── PrinterDevice
59- │ │ └── LinePrinter
60- │ │
61- │ └── InputDevice (base class)
62- │ ├── KeyboardDevice
63- │ └── MouseDevice
64- │
65- └── Command System
66- ├── Command (namedtuple)
67- ├── create_*_command() functions
68- └── dispatch routing
69- ```
70-
71- ## Emerging Architecture (Work in Progress)
72-
73- Through analysis of terminal input/output flows and cross-platform concerns, we're evolving toward:
7424
7525### Component Separation
7626
0 commit comments