Skip to content

Commit

Permalink
Moving diagrams to appropraite sections
Browse files Browse the repository at this point in the history
  • Loading branch information
mattkae committed Oct 6, 2023
1 parent d7c6ab9 commit 53aaa7f
Showing 1 changed file with 7 additions and 13 deletions.
20 changes: 7 additions & 13 deletions doc/sphinx/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ This document is intended to provide contributors to *Mir* an overview of *Mir*'
- [The Mir Engine](#the-mir-engine)
- [Platforms](#platforms)
- [Supporting Libraries](#supporting-libraries)
- [Diagrams](#diagrams)

## APIs for compositor authors
```{mermaid} high_level_diagram.mmd
```

*Mir* provides compositor authors with a set of libraries that they can use to build Wayland based shells. These libraries are:
- *miral*
- *miroil*
Expand All @@ -27,6 +29,9 @@ The most commonly used library is **miral**. `miral` (the "*Mir* Abstraction Lay
Compositor authors may want to define their own wayland protocol extensions in addition to the ones that the core *Mir* implementation defines. The `mirwayland` library satisfies this requirement. This library may be used in conjunction with either `miral` or `miroil`.

## The Mir engine
```{mermaid} mirserver.mmd
```

The **mirserver** library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine.

### Core Concepts
Expand Down Expand Up @@ -61,15 +66,4 @@ The GBM/KMS platform is most typically what will be used, as it is the native pl
*Mir* leans on a few core libraries to support the entire system. These libraries contain data structures and utilities that are shared throughout the project, including `miral` and `miroil`.

- **Core**: Fundamental data concepts, like file descriptors and rectangles. These data structures tend not to be *Mir*-specific.
- **Common**: *Mir*-specific data concepts like *Mir* event building, logging, and timing utilities.

## Diagrams
### High-Level Diagram
The following describes the largest chunks of *Mir* and how they relate to one another:
```{mermaid} high_level_diagram.mmd
```

### Mirserver Closeup
The following is a deeper dive into the specifics of `mirserver`:
```{mermaid} mirserver.mmd
```
- **Common**: *Mir*-specific data concepts like *Mir* event building, logging, and timing utilities.

0 comments on commit 53aaa7f

Please sign in to comment.