From 476033e6b677b860065df11f7266b305122beeaa Mon Sep 17 00:00:00 2001 From: digitalfrost Date: Wed, 10 Aug 2022 10:02:06 +0200 Subject: [PATCH 1/7] repositories.md: Breakup text into lists This makes it easier to read and to understand what each repository does. --- docs/repositories.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/repositories.md b/docs/repositories.md index 3b4c4bc317..4ccd51d7ca 100644 --- a/docs/repositories.md +++ b/docs/repositories.md @@ -1,8 +1,17 @@ Repositories ==== Cura uses a number of repositories where parts of our source code are separated, in order to get a cleaner architecture. Those repositories are: -* [Cura](https://github.com/Ultimaker/Cura), the main repository for the front-end of Cura. This contains all of the business logic for the front-end, including the specific types of profiles that are available, the concept of 3D printers and materials, specific tools for handling 3D printed models, pretty much all of the GUI, as well as Ultimaker services such as the Marketplace and accounts. -* The Cura repository is built on [Uranium](https://github.com/Ultimaker/Uranium), a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with a basic GUI framework ([Qt](https://www.qt.io/)), a 3D scene, a rendering system, a plug-in system and a system for stacked profiles that change settings. +* [Cura](https://github.com/Ultimaker/Cura), the main repository for the front-end of Cura. This contains: + - all of the business logic for the front-end, including the specific types of profiles that are available + - the concept of 3D printers and materials + - specific tools for handling 3D printed models + - pretty much all of the GUI + - Ultimaker services such as the Marketplace and accounts. +* The Cura repository is built on [Uranium](https://github.com/Ultimaker/Uranium), a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: + - a basic GUI framework ([Qt](https://www.qt.io/)) + - a 3D scene, a rendering system + - a plug-in system + - a system for stacked profiles that change settings. * In order to slice, Cura starts [CuraEngine](https://github.com/Ultimaker/CuraEngine) in the background. This does the actual process that converts 3D models into a toolpath for the printer. * Communication to CuraEngine goes via [libArcus](https://github.com/Ultimaker/libArcus), a small library that wraps around [Protobuf](https://developers.google.com/protocol-buffers/) in order to make it run over a local socket. * Cura's build scripts are in [cura-build](https://github.com/Ultimaker/cura-build) and build scripts for building dependencies are in [cura-build-environment](https://github.com/Ultimaker/cura-build-environment). @@ -10,7 +19,9 @@ Cura uses a number of repositories where parts of our source code are separated, There are also a number of repositories under our control that are not integral parts of Cura's architecture, but more like separated side-gigs: * Loading and writing 3MF files is done through [libSavitar](https://github.com/Ultimaker/libSavitar). * 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. +* 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 which would require considerable tooling to build automatically like: + - the machine-readable translation files + - the Marlin builds for firmware updates * 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. @@ -18,4 +29,4 @@ 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 +![Overview of interplay between repositories](resources/repositories.svg) From 340254490637d0b6bdfcb8d2fc52304e0e2db097 Mon Sep 17 00:00:00 2001 From: digitalfrost Date: Wed, 10 Aug 2022 10:16:39 +0200 Subject: [PATCH 2/7] repositoires.md: reformat to start with repos Move the name of the repos to the beginning of the line/ beginning of each section. This makes it much easier to read. --- docs/repositories.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/repositories.md b/docs/repositories.md index 4ccd51d7ca..9e2b8ad5d4 100644 --- a/docs/repositories.md +++ b/docs/repositories.md @@ -7,23 +7,24 @@ Cura uses a number of repositories where parts of our source code are separated, - specific tools for handling 3D printed models - pretty much all of the GUI - Ultimaker services such as the Marketplace and accounts. -* The Cura repository is built on [Uranium](https://github.com/Ultimaker/Uranium), a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: +* [Uranium](https://github.com/Ultimaker/Uranium) the underlying framework the Cura repository is built on . [Uranium](https://github.com/Ultimaker/Uranium) is a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: - a basic GUI framework ([Qt](https://www.qt.io/)) - a 3D scene, a rendering system - a plug-in system - a system for stacked profiles that change settings. -* In order to slice, Cura starts [CuraEngine](https://github.com/Ultimaker/CuraEngine) in the background. This does the actual process that converts 3D models into a toolpath for the printer. -* Communication to CuraEngine goes via [libArcus](https://github.com/Ultimaker/libArcus), a small library that wraps around [Protobuf](https://developers.google.com/protocol-buffers/) in order to make it run over a local socket. -* Cura's build scripts are in [cura-build](https://github.com/Ultimaker/cura-build) and build scripts for building dependencies are in [cura-build-environment](https://github.com/Ultimaker/cura-build-environment). +* [CuraEngine](https://github.com/Ultimaker/CuraEngine) the slicer used by Cura in the background. This does the actual process that converts 3D models into a toolpath for the printer. +* [libArcus](https://github.com/Ultimaker/libArcus) handles the communication to CuraEngine. [libArcus](https://github.com/Ultimaker/libArcus) is a small library that wraps around [Protobuf](https://developers.google.com/protocol-buffers/) in order to make it run over a local socket. +* [cura-build](https://github.com/Ultimaker/cura-build): Cura's build scripts. +* [cura-build-environment](https://github.com/Ultimaker/cura-build-environment) build scripts for building dependencies. There are also a number of repositories under our control that are not integral parts of Cura's architecture, but more like separated side-gigs: -* Loading and writing 3MF files is done through [libSavitar](https://github.com/Ultimaker/libSavitar). -* 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 which would require considerable tooling to build automatically like: +* [libSavitar](https://github.com/Ultimaker/libSavitar) is used for loading and writing 3MF files. +* [libCharon](https://github.com/Ultimaker/libCharon) is used for loading and writing UFP files. +* [cura-binary-data](https://github.com/Ultimaker/cura-binary-data) pre-compiled parts to make the build system a bit simpler. This holds things which would require considerable tooling to build automatically like: - the machine-readable translation files - the Marlin builds for firmware updates -* 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. +* [Cura-squish-tests](https://github.com/Ultimaker/Cura-squish-tests): automated GUI tests. +* [fdm_materials](https://github.com/Ultimaker/fdm_materials) stores Material profiles. 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 ---- From 3f440a448153a84b0ae68eef53073cf1811b15ea Mon Sep 17 00:00:00 2001 From: digitalfrost Date: Wed, 10 Aug 2022 10:18:15 +0200 Subject: [PATCH 3/7] repositories.md: remove extra whitespace Remove extra whitespace. --- docs/repositories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/repositories.md b/docs/repositories.md index 9e2b8ad5d4..2e3b5c9bdf 100644 --- a/docs/repositories.md +++ b/docs/repositories.md @@ -7,7 +7,7 @@ Cura uses a number of repositories where parts of our source code are separated, - specific tools for handling 3D printed models - pretty much all of the GUI - Ultimaker services such as the Marketplace and accounts. -* [Uranium](https://github.com/Ultimaker/Uranium) the underlying framework the Cura repository is built on . [Uranium](https://github.com/Ultimaker/Uranium) is a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: +* [Uranium](https://github.com/Ultimaker/Uranium) the underlying framework the Cura repository is built on. [Uranium](https://github.com/Ultimaker/Uranium) is a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: - a basic GUI framework ([Qt](https://www.qt.io/)) - a 3D scene, a rendering system - a plug-in system From 850749fdf53c5e8e4d0893a6d35a9841a466d9ea Mon Sep 17 00:00:00 2001 From: digitalfrost Date: Wed, 10 Aug 2022 10:20:24 +0200 Subject: [PATCH 4/7] repositories.md use is instead of comma Is should be used instead of a comma here --- docs/repositories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/repositories.md b/docs/repositories.md index 2e3b5c9bdf..bccb5d64be 100644 --- a/docs/repositories.md +++ b/docs/repositories.md @@ -1,7 +1,7 @@ Repositories ==== Cura uses a number of repositories where parts of our source code are separated, in order to get a cleaner architecture. Those repositories are: -* [Cura](https://github.com/Ultimaker/Cura), the main repository for the front-end of Cura. This contains: +* [Cura](https://github.com/Ultimaker/Cura) is the main repository for the front-end of Cura. This contains: - all of the business logic for the front-end, including the specific types of profiles that are available - the concept of 3D printers and materials - specific tools for handling 3D printed models From 67d58397754b6aa868026a9e42b3199ca535a0c2 Mon Sep 17 00:00:00 2001 From: digitalfrost Date: Wed, 10 Aug 2022 10:22:30 +0200 Subject: [PATCH 5/7] repositories.md: use is in descriptions Use is in these two instances as well for consistency with the first list item. --- docs/repositories.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/repositories.md b/docs/repositories.md index bccb5d64be..6b92993369 100644 --- a/docs/repositories.md +++ b/docs/repositories.md @@ -7,12 +7,12 @@ Cura uses a number of repositories where parts of our source code are separated, - specific tools for handling 3D printed models - pretty much all of the GUI - Ultimaker services such as the Marketplace and accounts. -* [Uranium](https://github.com/Ultimaker/Uranium) the underlying framework the Cura repository is built on. [Uranium](https://github.com/Ultimaker/Uranium) is a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: +* [Uranium](https://github.com/Ultimaker/Uranium) is the underlying framework the Cura repository is built on. [Uranium](https://github.com/Ultimaker/Uranium) is a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: - a basic GUI framework ([Qt](https://www.qt.io/)) - a 3D scene, a rendering system - a plug-in system - a system for stacked profiles that change settings. -* [CuraEngine](https://github.com/Ultimaker/CuraEngine) the slicer used by Cura in the background. This does the actual process that converts 3D models into a toolpath for the printer. +* [CuraEngine](https://github.com/Ultimaker/CuraEngine) is the slicer used by Cura in the background. This does the actual process that converts 3D models into a toolpath for the printer. * [libArcus](https://github.com/Ultimaker/libArcus) handles the communication to CuraEngine. [libArcus](https://github.com/Ultimaker/libArcus) is a small library that wraps around [Protobuf](https://developers.google.com/protocol-buffers/) in order to make it run over a local socket. * [cura-build](https://github.com/Ultimaker/cura-build): Cura's build scripts. * [cura-build-environment](https://github.com/Ultimaker/cura-build-environment) build scripts for building dependencies. From 4e0addbe676a1ea965e031a9ea1784f96b8a239a Mon Sep 17 00:00:00 2001 From: digitalfrost Date: Wed, 10 Aug 2022 10:23:58 +0200 Subject: [PATCH 6/7] repositories.md: fix grammatical mistake Fix grammatical mistake. --- docs/repositories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/repositories.md b/docs/repositories.md index 6b92993369..210c3fd29b 100644 --- a/docs/repositories.md +++ b/docs/repositories.md @@ -7,7 +7,7 @@ Cura uses a number of repositories where parts of our source code are separated, - specific tools for handling 3D printed models - pretty much all of the GUI - Ultimaker services such as the Marketplace and accounts. -* [Uranium](https://github.com/Ultimaker/Uranium) is the underlying framework the Cura repository is built on. [Uranium](https://github.com/Ultimaker/Uranium) is a framework for desktop applications that handle 3D models and have a separate back-end. This provides Cura with: +* [Uranium](https://github.com/Ultimaker/Uranium) is the underlying framework the Cura repository is built on. [Uranium](https://github.com/Ultimaker/Uranium) is a framework for desktop applications that handle 3D models. It has a separate back-end. This provides Cura with: - a basic GUI framework ([Qt](https://www.qt.io/)) - a 3D scene, a rendering system - a plug-in system From 2a11555a4afea900c1acafbb4756f480bbc38749 Mon Sep 17 00:00:00 2001 From: digitalfrost Date: Wed, 10 Aug 2022 10:34:50 +0200 Subject: [PATCH 7/7] repositories.md: remove extra whitespace Remove extra whitespace in markdown. --- docs/repositories.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/repositories.md b/docs/repositories.md index 210c3fd29b..0d882c44b2 100644 --- a/docs/repositories.md +++ b/docs/repositories.md @@ -12,7 +12,7 @@ Cura uses a number of repositories where parts of our source code are separated, - a 3D scene, a rendering system - a plug-in system - a system for stacked profiles that change settings. -* [CuraEngine](https://github.com/Ultimaker/CuraEngine) is the slicer used by Cura in the background. This does the actual process that converts 3D models into a toolpath for the printer. +* [CuraEngine](https://github.com/Ultimaker/CuraEngine) is the slicer used by Cura in the background. This does the actual process that converts 3D models into a toolpath for the printer. * [libArcus](https://github.com/Ultimaker/libArcus) handles the communication to CuraEngine. [libArcus](https://github.com/Ultimaker/libArcus) is a small library that wraps around [Protobuf](https://developers.google.com/protocol-buffers/) in order to make it run over a local socket. * [cura-build](https://github.com/Ultimaker/cura-build): Cura's build scripts. * [cura-build-environment](https://github.com/Ultimaker/cura-build-environment) build scripts for building dependencies. @@ -20,7 +20,7 @@ Cura uses a number of repositories where parts of our source code are separated, There are also a number of repositories under our control that are not integral parts of Cura's architecture, but more like separated side-gigs: * [libSavitar](https://github.com/Ultimaker/libSavitar) is used for loading and writing 3MF files. * [libCharon](https://github.com/Ultimaker/libCharon) is used for loading and writing UFP files. -* [cura-binary-data](https://github.com/Ultimaker/cura-binary-data) pre-compiled parts to make the build system a bit simpler. This holds things which would require considerable tooling to build automatically like: +* [cura-binary-data](https://github.com/Ultimaker/cura-binary-data) pre-compiled parts to make the build system a bit simpler. This holds things which would require considerable tooling to build automatically like: - the machine-readable translation files - the Marlin builds for firmware updates * [Cura-squish-tests](https://github.com/Ultimaker/Cura-squish-tests): automated GUI tests.