Skip to content

Commit d7daf62

Browse files
committed
docs: Document player application model
1 parent d279e38 commit d7daf62

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Docs/Architecture.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,28 @@
22

33
This document will describe the overall structure of Open Rails and how we expect different areas of the program to work together.
44

5+
## Player application model
6+
7+
The player model describes the desired application components used when playing Open Rails (vs. editing) and their relationships.
8+
9+
```mermaid
10+
flowchart TB
11+
AI["Orts.AI"]
12+
Formats["Orts.Formats"]
13+
Input["Orts.Input"]
14+
Multiplayer["Orts.Multiplayer"]
15+
Parsers["Orts.Parsers"]
16+
Player["Player"]
17+
Simulation["Orts.Simulation"]
18+
Sound["Orts.Sound"]
19+
UI["Orts.UI"]
20+
Viewer["Orts.Viewer"]
21+
Web["Orts.Web"]
22+
Player --- UI --- Viewer --- Simulation
23+
Player --- Input --- Viewer & Simulation --- Formats --- Parsers
24+
AI & Sound --- Simulation --- Multiplayer & Web
25+
```
26+
527
## Threading model
628

729
The threading in Open Rails has two key threads working together (Render and Updater) to simulate and render the world, with a number of auxiliary threads for other functions.

0 commit comments

Comments
 (0)