diff --git a/.github/workflows/rapier-ci-build.yml b/.github/workflows/rapier-ci-build.yml
index 6b793fc52..9115cbb48 100644
--- a/.github/workflows/rapier-ci-build.yml
+++ b/.github/workflows/rapier-ci-build.yml
@@ -117,21 +117,6 @@ jobs:
run: cd crates/rapier2d && cargo build --verbose --target wasm32-unknown-unknown;
- name: build rapier3d
run: cd crates/rapier3d && cargo build --verbose --target wasm32-unknown-unknown;
- build-wasm-emscripten:
- runs-on: ubuntu-latest
- env:
- RUSTFLAGS: -D warnings
- steps:
- - uses: actions/checkout@v4
- - run: rustup target add wasm32-unknown-emscripten
- - name: build rapier2d
- run: cd crates/rapier2d && cargo build --verbose --target wasm32-unknown-emscripten;
- - name: build rapier3d
- run: cd crates/rapier3d && cargo build --verbose --target wasm32-unknown-emscripten;
- - name: build rapier2d --features simd-stable
- run: cd crates/rapier2d && cargo build --verbose --target wasm32-unknown-emscripten --features simd-stable;
- - name: build rapier3d --features simd-stable
- run: cd crates/rapier3d && cargo build --verbose --target wasm32-unknown-emscripten --features simd-stable;
# If this fails, consider changing your text or adding something to .typos.toml
# You can find typos here: https://crates.io/crates/typos'
typos:
diff --git a/Cargo.toml b/Cargo.toml
index 6fe8ad6f8..7a98057dc 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -73,10 +73,10 @@ num-traits = { version = "0.2", default-features = false }
approx = { version = "0.5", default-features = false }
# Parry (each crate picks its own variant)
-parry2d = { version = "0.28", default-features = false, features = ["required-features"] }
-parry3d = { version = "0.28", default-features = false, features = ["required-features"] }
-parry2d-f64 = { version = "0.28", default-features = false, features = ["required-features"] }
-parry3d-f64 = { version = "0.28", default-features = false, features = ["required-features"] }
+parry2d = { version = "0.29", default-features = false, features = ["required-features"] }
+parry3d = { version = "0.29", default-features = false, features = ["required-features"] }
+parry2d-f64 = { version = "0.29", default-features = false, features = ["required-features"] }
+parry3d-f64 = { version = "0.29", default-features = false, features = ["required-features"] }
# Utilities
bitflags = "2"
@@ -98,7 +98,6 @@ serde_json = "1"
oorandom = { version = "11", default-features = false }
[patch.crates-io]
-#wrapped2d = { git = "https://github.com/Bastacyclop/rust_box2d.git" }
#xurdf = { path = "../xurdf/xurdf" }
#simba = { path = "../simba" }
diff --git a/README.md b/README.md
index 527273df1..fb4d1184e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
diff --git a/assets/rapier-logo-vertical.png b/assets/rapier-logo-vertical.png
new file mode 100644
index 000000000..311572420
Binary files /dev/null and b/assets/rapier-logo-vertical.png differ
diff --git a/assets/rapier-logo.jpg b/assets/rapier-logo.jpg
new file mode 100644
index 000000000..1a15f1897
Binary files /dev/null and b/assets/rapier-logo.jpg differ
diff --git a/assets/rapier-logo.png b/assets/rapier-logo.png
new file mode 100644
index 000000000..b884b0806
Binary files /dev/null and b/assets/rapier-logo.png differ
diff --git a/crates/rapier3d-mjcf/src/loader/conversion.rs b/crates/rapier3d-mjcf/src/loader/conversion.rs
index c84b54dd4..378ea1c88 100644
--- a/crates/rapier3d-mjcf/src/loader/conversion.rs
+++ b/crates/rapier3d-mjcf/src/loader/conversion.rs
@@ -9,8 +9,8 @@ use std::path::Path;
use mjcf_rs::Pose as MPose;
use mjcf_rs::body as mb;
-use mjcf_rs::equality::{Equality as MjcfEquality, EqualityConnect, EqualityWeld};
use mjcf_rs::equality::EqualityJoint as MjcfEqualityJointDef;
+use mjcf_rs::equality::{Equality as MjcfEquality, EqualityConnect, EqualityWeld};
use mjcf_rs::extras::Sensor as MjcfSensor;
use mjcf_rs::glam::DVec3;
use mjcf_rs::model::{BodyEntry, BodyId, Model};
@@ -663,8 +663,8 @@ impl<'a> Conversion<'a> {
fn resolve_tendon_joints(&self, t: &mjcf_rs::tendon::FixedTendon) -> Vec<(usize, Real)> {
t.joints
.iter()
- .filter_map(|term| {
- match self.robot.joint_name_to_idx.get(&term.joint).copied() {
+ .filter_map(
+ |term| match self.robot.joint_name_to_idx.get(&term.joint).copied() {
Some(idx) => Some((idx, term.coef as Real)),
None => {
log::warn!(
@@ -674,8 +674,8 @@ impl<'a> Conversion<'a> {
);
None
}
- }
- })
+ },
+ )
.collect()
}
@@ -712,8 +712,7 @@ impl<'a> Conversion<'a> {
}
for &(idxk, ck) in &joints[1..] {
let already_coupled = self.robot.joint_couplings.iter().any(|c| {
- (c.joint1 == idx0 && c.joint2 == idxk)
- || (c.joint1 == idxk && c.joint2 == idx0)
+ (c.joint1 == idx0 && c.joint2 == idxk) || (c.joint1 == idxk && c.joint2 == idx0)
});
if already_coupled {
continue;
diff --git a/crates/rapier3d-mjcf/src/loader/mass.rs b/crates/rapier3d-mjcf/src/loader/mass.rs
index b8feee5d7..fa48274d8 100644
--- a/crates/rapier3d-mjcf/src/loader/mass.rs
+++ b/crates/rapier3d-mjcf/src/loader/mass.rs
@@ -327,12 +327,12 @@ pub(super) fn add_springdamper_to_multibody(
let mut offset = 0;
let mut ndofs = 0;
for (i, link) in multibody.links().enumerate() {
- let nd = link.joint().ndofs();
+ let link_ndofs = link.joint().ndofs();
if i == link_id {
- ndofs = nd;
+ ndofs = link_ndofs;
break;
}
- offset += nd;
+ offset += link_ndofs;
}
if ndofs == 0 {
return;
diff --git a/crates/rapier3d-mjcf/src/loader/runtime.rs b/crates/rapier3d-mjcf/src/loader/runtime.rs
index d8ef2f4ed..8bb76838a 100644
--- a/crates/rapier3d-mjcf/src/loader/runtime.rs
+++ b/crates/rapier3d-mjcf/src/loader/runtime.rs
@@ -264,7 +264,8 @@ impl MjcfRobotHandles