Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorGhostkeeper <rubend@tutanota.com>2020-04-24 17:40:13 +0300
committerGhostkeeper <rubend@tutanota.com>2020-04-24 17:40:13 +0300
commit9d800f9fde80fdbc3c5b4cfb0952f4c016f8327b (patch)
tree582dec56ec1bef8eee8f69dbb2d7e5758e4fd42c /docs
parent3b30b75f1e576fe1fbd2574cf966e87ee7800a85 (diff)
Add high-level overview image of how repositories interconnect
Diffstat (limited to 'docs')
-rw-r--r--docs/repositories.md8
-rw-r--r--docs/resources/repositories.svg70
2 files changed, 77 insertions, 1 deletions
diff --git a/docs/repositories.md b/docs/repositories.md
index ca2cc33248..3b4c4bc317 100644
--- a/docs/repositories.md
+++ b/docs/repositories.md
@@ -12,4 +12,10 @@ There are also a number of repositories under our control that are not integral
* Loading and writing UFP files is done through [libCharon](https://github.com/Ultimaker/libCharon).
* To make the build system a bit simpler, some parts are pre-compiled in [cura-binary-data](https://github.com/Ultimaker/cura-binary-data). This holds things like the machine-readable translation files and the Marlin builds for firmware updates, which would require considerable tooling to build automatically.
* There are automated GUI tests in [Cura-squish-tests](https://github.com/Ultimaker/Cura-squish-tests).
-* Material profiles are stored in [fdm_materials](https://github.com/Ultimaker/fdm_materials). This is separated out and combined in our build process, so that the firmware for Ultimaker's printers can use the same set of profiles too. \ No newline at end of file
+* Material profiles are stored in [fdm_materials](https://github.com/Ultimaker/fdm_materials). This is separated out and combined in our build process, so that the firmware for Ultimaker's printers can use the same set of profiles too.
+
+Interplay
+----
+At a very high level, Cura's repositories interconnect as follows:
+
+![Overview of interplay between repositories](resources/repositories.svg) \ No newline at end of file
diff --git a/docs/resources/repositories.svg b/docs/resources/repositories.svg
new file mode 100644
index 0000000000..4f4ad740f3
--- /dev/null
+++ b/docs/resources/repositories.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1000">
+ <defs>
+ <marker id="arrow" refX="2" refY="1.5" markerWidth="3" markerHeight="3" orient="auto-start-reverse">
+ <polygon points="0,0 3,1.5 0,3" />
+ </marker>
+ </defs>
+
+ <g marker-end="url(#arrow)" stroke="black" stroke-width="5"> <!-- Arrows. -->
+ <!-- Towards CuraEngine and back. -->
+ <line x1="475" y1="400" x2="475" y2="307.5" />
+ <line x1="475" y1="250" x2="475" y2="210" />
+ <line x1="525" y1="200" x2="525" y2="242.5" />
+ <line x1="525" y1="300" x2="525" y2="390" />
+
+ <!-- From libSavitar. -->
+ <line x1="100" y1="425" x2="142.5" y2="425" />
+ <line x1="300" y1="425" x2="390" y2="425" />
+
+ <!-- From fdm_materials. -->
+ <line x1="350" y1="575" x2="390" y2="575" />
+
+ <!-- To libCharon. -->
+ <line x1="600" y1="500" x2="692.5" y2="500" />
+ <line x1="900" y1="500" x2="945" y2="500" />
+
+ <!-- To Uranium. -->
+ <line x1="500" y1="600" x2="500" y2="690" />
+ </g>
+
+ <g stroke="black" fill="none"> <!-- Boxes representing repositories. -->
+ <g stroke-width="10"> <!-- Major repositories. -->
+ <rect x="400" y="400" width="200" height="200" rx="20" /> <!-- Cura. -->
+ <rect x="350" y="700" width="300" height="200" rx="20" /> <!-- Uranium. -->
+ <rect x="300" y="5" width="400" height="195" rx="20" /> <!-- CuraEngine. -->
+ </g>
+ <g stroke-width="5"> <!-- Minor repositories. -->
+ <rect x="150" y="350" width="150" height="100" rx="20" /> <!-- libSavitar. -->
+ <rect x="100" y="550" width="250" height="100" rx="20" /> <!-- fdm_materials. -->
+ <rect x="430" y="250" width="140" height="50" rx="20" /> <!-- libArcus. -->
+ <rect x="700" y="450" width="200" height="100" rx="20" /> <!-- libCharon. -->
+ </g>
+ </g>
+
+ <g font-family="sans-serif" text-anchor="middle" dominant-baseline="middle"> <!-- Labels. -->
+ <g font-size="50"> <!-- Major repositories. -->
+ <text x="500" y="500">Cura</text>
+ <text x="500" y="800">Uranium</text>
+ <text x="500" y="102.5">CuraEngine</text>
+ </g>
+ <g font-size="25"> <!-- Minor repositories and arrows. -->
+ <text x="225" y="400">libSavitar</text>
+ <text x="225" y="600">fdm_materials</text>
+ <text x="500" y="275">libArcus</text>
+ <text x="800" y="500">libCharon</text>
+
+ <g text-anchor="start">
+ <text x="645" y="490" transform="rotate(-90, 645, 490)">G-code</text>
+ <text x="950" y="500">UFP</text>
+ <text x="535" y="345">G-code</text>
+ <text x="345" y="415" transform="rotate(-90, 345, 415)">Model</text>
+ <text x="510" y="645">Built upon</text>
+ </g>
+ <g text-anchor="end">
+ <text x="465" y="345">Scene</text>
+ <text x="90" y="425">3MF</text>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file