File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # Architecutre
2+
3+ ``` mermaid
4+ flowchart LR
5+ user((user))
6+
7+
8+ stdout
9+ stdin
10+ stderr
11+
12+ subgraph cli["cli"]
13+ end
14+
15+ subgraph tui["TUI"]
16+ commands_queue["Commands Queue"]
17+ tui_state[("State")]
18+
19+ subgraph input["Input Processing (Daemon Thread)"]
20+ commands_map["Commands Map"]
21+ end
22+
23+ subgraph runner["Runner (Event Loop)"]
24+ end
25+
26+ subgraph renderer["Renderer"]
27+ end
28+ end
29+
30+ subgraph exercise_iterator["Exercise Iterator"]
31+ end
32+
33+ subgraph exercise_runner["Exercise Runner"]
34+ end
35+
36+ subgraph watcher["File Watcher (Daemon Thread)"]
37+ end
38+
39+ subgraph filesystem["Filesystem"]
40+ end
41+
42+ %%connections%%
43+ stdout --> user
44+ user --> stdin --> input
45+ stderr --> user
46+
47+ cli --> stdout
48+ stdin --> cli
49+ cli --> stderr
50+ cli --starts--> runner
51+
52+ runner --> renderer --> stderr
53+ runner --> renderer --> stdout
54+ commands_map --push--> commands_queue
55+
56+ filesystem --polls--> watcher --refresh--> commands_queue
57+
58+ tui_state --> watcher
59+ tui_state --> runner
60+ tui_state <--> exercise_iterator
61+ tui_state <--> exercise_runner
62+ ```
You can’t perform that action at this time.
0 commit comments