aboutsummaryrefslogtreecommitdiff
path: root/ARCHITECTURE.md
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2021-04-01 15:21:27 +0200
committerGitHub <noreply@github.com>2021-04-01 15:21:27 +0200
commitbd2dc781f366eda6e9c02bff9cd8ba39c5b6ba21 (patch)
treec5a6af862168865f23b9909ffe7c27e92b07df82 /ARCHITECTURE.md
parent6e0c1cf8fb44c8d1ba856bd3dcd01b4c5ad8b543 (diff)
parent19e43c44c80c86e23a693c723406b190c76c1208 (diff)
downloadrapier-bd2dc781f366eda6e9c02bff9cd8ba39c5b6ba21.tar.gz
rapier-bd2dc781f366eda6e9c02bff9cd8ba39c5b6ba21.tar.bz2
rapier-bd2dc781f366eda6e9c02bff9cd8ba39c5b6ba21.zip
Merge pull request #159 from dimforge/guides
Add ARCHITECTURE, CODE_OF_CONDUCT, CONTRIBUTING files + flesh out the README
Diffstat (limited to 'ARCHITECTURE.md')
-rw-r--r--ARCHITECTURE.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md
new file mode 100644
index 0000000..a200b9f
--- /dev/null
+++ b/ARCHITECTURE.md
@@ -0,0 +1,17 @@
+## Repository architecture
+
+The architecture of this repository is a bit unusual because we are using some tricks to have both
+the 2D and 3D version of Rapier share the same code-base. Here are the main folders:
+- **`build/`**: contains one folder per Rapier crate (for the 2D, 3D, `f32`, and `f64` versions). Each
+ crate has its own `Cargo.toml` file that adjusts some cargo features, and reference the `src` folder.
+- **`src/`**: contains the actual `.rs` source code of the Rapier physics engine.
+- **`src_testbed/`**: contains the `.rs` source code of the Rapier testbed (which our examples are based on).
+- **`examples2d/`**: simple 2D scenes showcasing some of Rapier's capabilities.
+ Run them with `cargo run --release --bin all_examples2`.
+- **`examples3d/`**: simple 3D scenes showcasing some of Rapier's capabilities.
+ Run them with `cargo run --release --bin all_examples3`.
+- **`benchmarks2d/`**: a set of 2D stress-tests, to see how Rapier performs when it has lots of elements
+ to simulate.
+- **`benchmarks3d/`**: a set of 3D stress-tests, to see how Rapier performs when it has lots of elements
+ to simulate. We use the these benchmarks to track the performances of Rapier after some changes,
+ and spot unexpected regressions: https://www.rapier.rs/benchmarks/ \ No newline at end of file