From e9d641ca50409bf58fa35d570cfd55d6c8d11c8b Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Mon, 12 Jun 2023 09:55:14 +0200 Subject: [PATCH 1/3] Exclude Markdown from auto-formatting --- .vscode/settings.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 837a8d06b..186d12056 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,9 @@ { "editor.formatOnSave": true, "editor.formatOnPaste": true, + "[markdown]": { + "editor.formatOnSave": false, + }, "rust-analyzer.diagnostics.disabled": [ "mismatched-arg-count" ], From a95d0d6521e4ac24fcfd25ce9fa5b4861afd5312 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Mon, 12 Jun 2023 09:58:28 +0200 Subject: [PATCH 2/3] Update *Overview* in README --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e31cee589..0f28cfad1 100644 --- a/README.md +++ b/README.md @@ -35,15 +35,16 @@ Fornjot is usable for some toy examples, but currently lacks the features for so 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` (not published yet; crate on `crates.io` is not the same library): All-in-one API that re-exports all of the following crates. +- [`fj-math`]: Math primitives used by the rest of Fornjot. - [`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-core` (not published yet): Core primitives and code operating on those primitives. - [`fj-export`]: Exports Fornjot models to external data formats. - [`fj-viewer`]: Displays Fornjot models. +- `fj-window` (not published yet; crate on `crates.io` is not the same library): Simple windowing abstraction for use with `fj-viewer`. [`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 From 34518eb7f9fe04fcaf0d9d4f654f9708f8294462 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Mon, 12 Jun 2023 10:07:05 +0200 Subject: [PATCH 3/3] Restore *Usage* section in README --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f28cfad1..b70b9177c 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,13 @@ This is a list of the crates that make up Fornjot, along with a short descriptio ## 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. +Fornjot is a set of Rust libraries (see list above). The definitive documentation on how to use those is their reference documentation. The `crates.io` pages of each library (see list above) link to those. + +If you want to use Fornjot to create a specific model in Rust, the best starting point are the [example models](models/) in this repository: + +- To display a model, run `cargo run -p cuboid` (replace `cuboid` with name of model you want to display). +- To export a model, run `cargo run -p cuboid -- --export model.3mf` (replace `cuboid` with name of model you want to export; optionally replace `3mf` with another supported file format). +- To see full set of CLI options, run `cargo run -p cuboid -- --help` (all models have the same CLI interface, so this shouldn't differ much between them). ## Community