Merge pull request #78 from maxammann/architecture
Update architecture design artifacts
@ -130,3 +130,8 @@ cargo doc --open
|
||||
```
|
||||
|
||||
You can also view the up-to-date documentation [here](https://maplibre.org/maplibre-rs/docs/api/maplibre/).
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
The renderer of maplibre-rs is heavily based on the renderer of [bevy](https://bevyengine.org/). Bevy's renderer was
|
||||
forked into this project in order to have a solid and generic base.
|
||||
|
||||
1
docs/.gitignore
vendored
@ -1 +1,2 @@
|
||||
book
|
||||
*.bkp
|
||||
@ -9,7 +9,8 @@
|
||||
|
||||
|
||||
- [Development Guide](./development-guide/index.md)
|
||||
- [Building](./development-guide/building.md)
|
||||
- [How to Run Demos](./development-guide/how-to-run.md)
|
||||
- [Building Libraries](./development-guide/building-libraries.md)
|
||||
- [Debugging](./development-guide/debugging.md)
|
||||
|
||||
|
||||
|
||||
@ -8,15 +8,11 @@ The big picture of wgpu is as follows:
|
||||
|
||||
A simplified version is shown below:
|
||||
|
||||

|
||||

|
||||
|
||||
Notes:
|
||||
* wgpu is able to create an interface through which we can reach any device with a GPU.
|
||||
|
||||
## OS Architecture
|
||||
|
||||

|
||||
|
||||
Notes:
|
||||
* The ability to use shared memory or the atomic instruction set of WASM comes by enabling compilation features.
|
||||
* `threads` support here does not introduce threads like we know them from Linux. It introduces
|
||||
|
||||
@ -1,16 +1,28 @@
|
||||
# Design
|
||||
|
||||
<script src="https://unpkg.com/svg-pan-zoom@3.6.1/dist/svg-pan-zoom.min.js" >
|
||||
<script src="https://unpkg.com/@panzoom/panzoom@4.5.0/dist/panzoom.min.js"></script>
|
||||
|
||||
</script>
|
||||
## Domain Model
|
||||
|
||||
<embed style="border-style: solid; width: 100%" type="image/svg+xml" src="./figures/domain-model.drawio.svg" id="my-embed"/>
|
||||
<div style="overflow: hidden; border-style: solid; width: 110%">
|
||||
<img src="./figures/domain-model.drawio.svg" class="diagram" />
|
||||
</div>
|
||||
|
||||
## Data Model
|
||||
|
||||
<div style="overflow: hidden; border-style: solid; width: 110%">
|
||||
<img src="./figures/data-model.drawio.svg" class="diagram" />
|
||||
</div>
|
||||
|
||||
## Crate and Project Structure
|
||||
|
||||
<div style="overflow: hidden; border-style: solid; width: 110%">
|
||||
<img src="./figures/crate-and-projects-structure.drawio.svg" class="diagram" />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.getElementById('my-embed').addEventListener('load', function(){
|
||||
let pan = svgPanZoom(document.getElementById('my-embed'), {controlIconsEnabled: true});
|
||||
pan.resize();
|
||||
pan.pan();
|
||||
pan.center();
|
||||
Array.from(document.getElementsByClassName('diagram')).forEach(e => {
|
||||
panzoom = Panzoom(e, {});
|
||||
e.parentElement.addEventListener('wheel', panzoom.zoomWithWheel)
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 25 KiB |
3
docs/src/development-guide/building-libraries.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Building Libraries
|
||||
|
||||
TODO
|
||||
@ -2,4 +2,9 @@
|
||||
|
||||
# Introduction
|
||||
|
||||
maplibre-rs is a portable and performant vector maps renderer.
|
||||
maplibre-rs is a portable and performant vector maps renderer.
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
The name of the library is "maplibre-rs". The camel-case version of it is "MapLibreRs".
|
||||
|
||||