From c523afc6266dc65ff4c190de94aa16f6b4d8a1d0 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Tue, 23 May 2023 09:17:49 +0200 Subject: [PATCH 1/3] Add *Overview* section to README --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 2593ea1f3..e31cee589 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Fornjot is supported by [**@webtrax-oz**](https://github.com/webtrax-oz), [**@re ## Table of Contents - [**Status**](#status) +- [**Overview**](#overview) - [**Usage**](#usage) - [**Community**](#community) - [**Get Involved**](#get-involved) @@ -30,6 +31,23 @@ Fornjot is supported by [**@webtrax-oz**](https://github.com/webtrax-oz), [**@re Fornjot is usable for some toy examples, but currently lacks the features for something more advanced. Work to change that is underway. +## Overview + +This is a list of the crates that make up Fornjot, along with a short description for each, starting with the most basic ones and leading up to the high-level ones: + +- [`fj-math`]: Math primitives used by the rest of the Fornjot ecosystem. +- [`fj-interop`]: Basic types that allow other crates to interoperate, without depending on each other. +- [`fj-kernel`]: CAD kernel of Fornjot. Defines geometric and topological primitives, and algorithms that operate on those primitives. +- [`fj-export`]: Exports Fornjot models to external data formats. +- [`fj-viewer`]: Displays Fornjot models. + +[`fj-export`]: https://crates.io/crates/fj-export +[`fj-interop`]: https://crates.io/crates/fj-interop +[`fj-kernel`]: https://crates.io/crates/fj-kernel +[`fj-math`]: https://crates.io/crates/fj-math +[`fj-viewer`]: https://crates.io/crates/fj-viewer + + ## Usage This repository is currently [in flux](https://www.fornjot.app/blog/a-new-direction/) and the documentation previously available here no longer applies. This section will be updated in due time. From 35c23589f24f965c22f2d5ada2144f25473758cb Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Tue, 23 May 2023 09:18:14 +0200 Subject: [PATCH 2/3] Remove outdated and redundant crates overview --- crates/README.md | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 crates/README.md diff --git a/crates/README.md b/crates/README.md deleted file mode 100644 index e3ff1593f..000000000 --- a/crates/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Fornjot Crates - -## About - -Fornjot is both an application and an ecosystem of components that make up this application, but can be used independently. All if those components are located in this directory. - -If you're just looking to use Fornjot as a CAD program, don't worry about this directory. Check out [the website](https://www.fornjot.app/) or the [top-level `README.md`](../README.md). - - -## Overview - -This is a list of the crates in this directory, along with a short description for each, starting with the most basic ones and leading up to the high-level ones most relevant to end users: - -- [`fj-math`]: Math primitives used by the rest of the Fornjot ecosystem. -- [`fj-interop`]: Basic types that allow other crates to interoperate, without depending on each other. -- [`fj-kernel`]: CAD kernel of Fornjot. Defines geometric and topological primitives, and algorithms that operate on those primitives. -- [`fj-operations`]: CAD operations, built on top of `fj-kernel`. Link between the kernel, and the API that users use to define models. -- [`fj-export`]: Exports Fornjot models to external data formats. -- [`fj-host`]: Loads Fornjot models and watches them for changes. -- [`fj-viewer`]: Displays Fornjot models. -- [`fj-window`]: Embeds `fj-viewer` in a Winit-based window. -- [`fj-app`]: The Fornjot CAD application. -- [`fj-proc`]: Procedural macros to improve the usability of the `fj` crate. -- [`fj`]: End-user API for defining Fornjot models. - -[`fj`]: https://crates.io/crates/fj -[`fj-app`]: https://crates.io/crates/fj-app -[`fj-export`]: https://crates.io/crates/fj-export -[`fj-host`]: https://crates.io/crates/fj-host -[`fj-interop`]: https://crates.io/crates/fj-interop -[`fj-kernel`]: https://crates.io/crates/fj-kernel -[`fj-math`]: https://crates.io/crates/fj-math -[`fj-operations`]: https://crates.io/crates/fj-operations -[`fj-proc`]: https://crates.io/crates/fj-proc -[`fj-viewer`]: https://crates.io/crates/fj-viewer -[`fj-window`]: https://crates.io/crates/fj-window From 340226edd51d1ed4fcf8ba72f0d04219c701f348 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Tue, 23 May 2023 09:27:11 +0200 Subject: [PATCH 3/3] Update crate-level doc comments --- crates/fj-export/src/lib.rs | 12 ++++-------- crates/fj-interop/src/lib.rs | 13 +++++-------- crates/fj-kernel/src/lib.rs | 14 +++++--------- crates/fj-math/src/lib.rs | 14 ++++++-------- crates/fj-viewer/src/lib.rs | 12 ++++-------- 5 files changed, 24 insertions(+), 41 deletions(-) diff --git a/crates/fj-export/src/lib.rs b/crates/fj-export/src/lib.rs index cf0dee687..dcb7fab92 100644 --- a/crates/fj-export/src/lib.rs +++ b/crates/fj-export/src/lib.rs @@ -1,14 +1,10 @@ //! # Fornjot Exporter //! -//! This library is part of the [Fornjot] ecosystem. Fornjot is an open-source, -//! code-first CAD application; and collection of libraries that make up the CAD -//! application, but can be used independently. +//! [Fornjot] is an early-stage b-rep CAD kernel written in Rust. The kernel is +//! split into multiple libraries that can be used semi-independently, and this +//! is one of those. //! -//! This library is an internal component of Fornjot. It is not relevant to end -//! users that just want to create CAD models. -//! -//! The purpose of this library is to export Fornjot models to external file -//! formats. +//! This library exports Fornjot models to external file formats. //! //! [Fornjot]: https://www.fornjot.app/ diff --git a/crates/fj-interop/src/lib.rs b/crates/fj-interop/src/lib.rs index cea11ceb3..e2f455476 100644 --- a/crates/fj-interop/src/lib.rs +++ b/crates/fj-interop/src/lib.rs @@ -1,14 +1,11 @@ //! # Fornjot Interop Types //! -//! This library is part of the [Fornjot] ecosystem. Fornjot is an open-source, -//! code-first CAD application; and collection of libraries that make up the CAD -//! application, but can be used independently. +//! [Fornjot] is an early-stage b-rep CAD kernel written in Rust. The kernel is +//! split into multiple libraries that can be used semi-independently, and this +//! is one of those. //! -//! This library is an internal component of Fornjot. It is not relevant to end -//! users that just want to create CAD models. -//! -//! The purpose of this library is to define types that allow other components -//! of the Fornjot ecosystem to interoperate, without depending on each other. +//! This library defines types that allow other components of Fornjot to +//! interoperate, without having to depend on each other. //! //! [Fornjot]: https://www.fornjot.app/ diff --git a/crates/fj-kernel/src/lib.rs b/crates/fj-kernel/src/lib.rs index 0996e6dd3..cf38b263d 100644 --- a/crates/fj-kernel/src/lib.rs +++ b/crates/fj-kernel/src/lib.rs @@ -1,15 +1,11 @@ //! # Fornjot CAD Kernel //! -//! This library is part of the [Fornjot] ecosystem. Fornjot is an open-source, -//! code-first CAD application; and collection of libraries that make up the CAD -//! application, but can be used independently. +//! [Fornjot] is an early-stage b-rep CAD kernel written in Rust. The kernel is +//! split into multiple libraries that can be used semi-independently, and this +//! is one of those. //! -//! This library is an internal component of Fornjot. It is not relevant to end -//! users that just want to create CAD models. -//! -//! The CAD kernel is the core of Fornjot: the geometry, the topology, and the -//! algorithms that handle them. It is separate from the CAD application, and -//! could be used in other applications. +//! This library defines geometric and topological primitives, and the +//! algorithms that operate on them. //! //! //! ## Design Principle diff --git a/crates/fj-math/src/lib.rs b/crates/fj-math/src/lib.rs index feb8c3fea..dea470a8c 100644 --- a/crates/fj-math/src/lib.rs +++ b/crates/fj-math/src/lib.rs @@ -1,16 +1,14 @@ //! # Fornjot Math Library //! -//! This library is part of the [Fornjot] ecosystem. Fornjot is an open-source, -//! code-first CAD application; and collection of libraries that make up the CAD -//! application, but can be used independently. +//! [Fornjot] is an early-stage b-rep CAD kernel written in Rust. The kernel is +//! split into multiple libraries that can be used semi-independently, and this +//! is one of those. //! -//! This library is an internal component of Fornjot. It is not relevant to end -//! users that just want to create CAD models. -//! -//! This crates provides basic math types for the Fornjot ecosystem. It is built -//! on [nalgebra] and [Parry], but provides an interface that is specifically +//! This library provides basic math types for Fornjot. It is built on +//! [nalgebra] and [Parry], but provides an interface that is specifically //! tailored to the needs of Fornjot. //! +//! //! ## Failing [`From`]/[`Into`] implementations //! //! Please note that any [`From`]/[`Into`] implementation that convert floating diff --git a/crates/fj-viewer/src/lib.rs b/crates/fj-viewer/src/lib.rs index f46c8de84..c9d888503 100644 --- a/crates/fj-viewer/src/lib.rs +++ b/crates/fj-viewer/src/lib.rs @@ -1,14 +1,10 @@ //! # Fornjot Model Viewer //! -//! This library is part of the [Fornjot] ecosystem. Fornjot is an open-source, -//! code-first CAD application; and collection of libraries that make up the CAD -//! application, but can be used independently. +//! [Fornjot] is an early-stage b-rep CAD kernel written in Rust. The kernel is +//! split into multiple libraries that can be used semi-independently, and this +//! is one of those. //! -//! This library is an internal component of Fornjot. It is not relevant to end -//! users that just want to create CAD models. -//! -//! This library provides a model viewer which allows basic navigation and -//! rendering of generated models. +//! This library provides a viewer for Fornjot models. //! //! [Fornjot]: https://www.fornjot.app/