diff --git a/CHANGELOG.md b/CHANGELOG.md index 7120c013..036892ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ### Unreleased -- Update to rapier 0.20 ([#281](https://github.com/dimforge/rapier.js/pull/281)), see [rapier's changelog](https://github.com/dimforge/rapier/blob/master/CHANGELOG.md#v0200-9-june-2024) for more context. +- Update from rapier 0.19 to 0.21 ([#281](https://github.com/dimforge/rapier.js/pull/281)), see [rapier's changelog](https://github.com/dimforge/rapier/blob/master/CHANGELOG.md#v0210-23-june-2024) for more context. ### 0.13.1 (2024-05-08) diff --git a/Cargo.lock b/Cargo.lock index 7264a90d..31e62ccb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -50,12 +50,27 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] + [[package]] name = "bumpalo" version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +[[package]] +name = "by_address" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" + [[package]] name = "bytemuck" version = "1.14.0" @@ -143,9 +158,9 @@ dependencies = [ "crossbeam-channel", "js-sys", "libm", - "nalgebra", + "nalgebra 0.33.0", "palette", - "parry2d", + "parry2d 0.16.1", "rapier2d", "ref-cast", "serde", @@ -159,9 +174,9 @@ dependencies = [ "bincode", "crossbeam-channel", "js-sys", - "nalgebra", + "nalgebra 0.33.0", "palette", - "parry2d", + "parry2d 0.15.1", "rapier3d", "ref-cast", "serde", @@ -181,27 +196,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] -name = "find-crate" -version = "0.6.3" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2" -dependencies = [ - "toml", -] +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "fast-srgb8" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "indexmap" -version = "1.9.3" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ - "autocfg", + "equivalent", "hashbrown", "serde", ] @@ -263,6 +281,21 @@ name = "nalgebra" version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" +dependencies = [ + "approx", + "matrixmultiply", + "num-complex", + "num-rational", + "num-traits", + "simba 0.8.1", + "typenum", +] + +[[package]] +name = "nalgebra" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c4b5f057b303842cf3262c27e465f4c303572e7f6b0648f60e16248ac3397f4" dependencies = [ "approx", "matrixmultiply", @@ -271,19 +304,19 @@ dependencies = [ "num-rational", "num-traits", "serde", - "simba", + "simba 0.9.0", "typenum", ] [[package]] name = "nalgebra-macros" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -304,7 +337,7 @@ checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn", ] [[package]] @@ -361,26 +394,26 @@ dependencies = [ [[package]] name = "palette" -version = "0.6.1" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9cd68f7112581033f157e56c77ac4a5538ec5836a2e39284e65bd7d7275e49" +checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6" dependencies = [ "approx", - "num-traits", + "fast-srgb8", "palette_derive", "phf", ] [[package]] name = "palette_derive" -version = "0.6.1" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05eedf46a8e7c27f74af0c9cfcdb004ceca158cb1b918c6f68f8d7a549b3e427" +checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30" dependencies = [ - "find-crate", + "by_address", "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -391,44 +424,70 @@ checksum = "41c56bf3b44b08f18a6ed01e5c6bf1a41a12efc7e8b806ce0cf50831c88f9fc8" dependencies = [ "approx", "arrayvec", - "bitflags", + "bitflags 1.3.2", + "downcast-rs", + "either", + "log", + "nalgebra 0.32.3", + "num-derive", + "num-traits", + "rustc-hash 1.1.0", + "simba 0.8.1", + "slab", + "smallvec", + "spade", +] + +[[package]] +name = "parry2d" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8aa1c304489b71ab35ad4080c5a333a5fc24b2a5f244f197dedb93276c9a05" +dependencies = [ + "approx", + "arrayvec", + "bitflags 2.6.0", "downcast-rs", "either", "indexmap", "log", - "nalgebra", + "nalgebra 0.33.0", "num-derive", "num-traits", - "rustc-hash", + "ordered-float", + "rustc-hash 2.0.0", "serde", - "simba", + "simba 0.9.0", "slab", "smallvec", "spade", + "thiserror", ] [[package]] name = "parry3d" -version = "0.15.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d517731f25a94ef70aa067b9f063d41e2b1c9277d49d33d92f40fab7b6c09a" +checksum = "ec1d9cc5a359352e2be7e47270cef9f9e175794c03302553353804a436228e7f" dependencies = [ "approx", "arrayvec", - "bitflags", + "bitflags 2.6.0", "downcast-rs", "either", "indexmap", "log", - "nalgebra", + "nalgebra 0.33.0", "num-derive", "num-traits", - "rustc-hash", + "ordered-float", + "rustc-hash 2.0.0", "serde", - "simba", + "simba 0.9.0", "slab", "smallvec", "spade", + "thiserror", ] [[package]] @@ -467,7 +526,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.37", + "syn", ] [[package]] @@ -514,51 +573,51 @@ checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" [[package]] name = "rapier2d" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b406e79fca8206343d4e362d5bd6b7eb4c366e34c0ffcc3eb6469aabc3705503" +checksum = "7a9a115cec2cd9533e376e23c87a7869508691a7b38ab078cc8a8e1cd24d9d1b" dependencies = [ "approx", "arrayvec", "bit-vec", - "bitflags", + "bitflags 2.6.0", "crossbeam", "downcast-rs", "instant", "log", - "nalgebra", + "nalgebra 0.33.0", "num-derive", "num-traits", "ordered-float", - "parry2d", - "rustc-hash", + "parry2d 0.16.1", + "rustc-hash 2.0.0", "serde", - "simba", + "simba 0.9.0", "thiserror", ] [[package]] name = "rapier3d" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05f54a624b439d53ef9126cc4b6832cc5a5e33c137a493e15c197885c00d741" +checksum = "bdfa17fa28a7a4cfaebf669f57ca34dce0e758b295bd8a2aa1fbac4e054fb836" dependencies = [ "approx", "arrayvec", "bit-vec", - "bitflags", + "bitflags 2.6.0", "crossbeam", "downcast-rs", "instant", "log", - "nalgebra", + "nalgebra 0.33.0", "num-derive", "num-traits", "ordered-float", "parry3d", - "rustc-hash", + "rustc-hash 2.0.0", "serde", - "simba", + "simba 0.9.0", "thiserror", ] @@ -585,7 +644,7 @@ checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn", ] [[package]] @@ -600,6 +659,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "safe_arch" version = "0.7.1" @@ -632,7 +697,7 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn", ] [[package]] @@ -640,6 +705,19 @@ name = "simba" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", + "wide", +] + +[[package]] +name = "simba" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" dependencies = [ "approx", "libm", @@ -682,17 +760,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.37" @@ -721,16 +788,7 @@ checksum = "268026685b2be38d7103e9e507c938a1fcb3d7e6eb15e87870b617bf37b6d581" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", + "syn", ] [[package]] @@ -766,7 +824,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.37", + "syn", "wasm-bindgen-shared", ] @@ -788,7 +846,7 @@ checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] diff --git a/rapier2d/Cargo.toml b/rapier2d/Cargo.toml index 7678346b..f7c3d0d8 100644 --- a/rapier2d/Cargo.toml +++ b/rapier2d/Cargo.toml @@ -23,7 +23,7 @@ required-features = ["dim2"] [dependencies] -rapier2d = { version = "0.20.0", features = [ +rapier2d = { version = "0.21.0", features = [ "wasm-bindgen", "serde-serialize", "enhanced-determinism", @@ -32,13 +32,13 @@ rapier2d = { version = "0.20.0", features = [ ref-cast = "1" wasm-bindgen = "0.2.90" js-sys = "0.3" -nalgebra = "0.32" +nalgebra = "0.33" serde = { version = "1", features = ["derive", "rc"] } bincode = "1" crossbeam-channel = "0.5" -palette = "0.6" +palette = "0.7" libm = "0.2" -parry2d = "^0.15.1" # Use at least this version to fix a regression in 0.15.0 +parry2d = "^0.16.1" # Use at least this version to fix a regression in 0.15.0 [package.metadata.wasm-pack.profile.release] # add -g to keep debug symbols diff --git a/rapier3d/Cargo.toml b/rapier3d/Cargo.toml index 056f1d94..69badcf7 100644 --- a/rapier3d/Cargo.toml +++ b/rapier3d/Cargo.toml @@ -23,7 +23,7 @@ required-features = ["dim3"] [dependencies] -rapier3d = { version = "0.20.0", features = [ +rapier3d = { version = "0.21.0", features = [ "wasm-bindgen", "serde-serialize", "enhanced-determinism", @@ -32,11 +32,11 @@ rapier3d = { version = "0.20.0", features = [ ref-cast = "1" wasm-bindgen = "^0.2.90" js-sys = "0.3" -nalgebra = "0.32" +nalgebra = "0.33" serde = { version = "1", features = ["derive", "rc"] } bincode = "1" crossbeam-channel = "0.5" -palette = "0.6" +palette = "0.7" parry2d = "^0.15.1" # Use at least this version to fix a regression in 0.15.0 [package.metadata.wasm-pack.profile.release] diff --git a/src/control/character_controller.rs b/src/control/character_controller.rs index ebf4b8f5..bf0ee943 100644 --- a/src/control/character_controller.rs +++ b/src/control/character_controller.rs @@ -197,7 +197,7 @@ impl RawKinematicCharacterController { &queries.0, collider.shape(), character_mass, - self.events.iter().copied(), + self.events.iter(), query_filter, ); } diff --git a/src/geometry/mod.rs b/src/geometry/mod.rs index f9fe78f6..08918b88 100644 --- a/src/geometry/mod.rs +++ b/src/geometry/mod.rs @@ -27,8 +27,8 @@ use rapier::prelude::Group; pub const fn unpack_interaction_groups(memberships_filter: u32) -> InteractionGroups { InteractionGroups::new( - unsafe { Group::from_bits_unchecked((memberships_filter >> 16) as u32) }, - unsafe { Group::from_bits_unchecked((memberships_filter & 0x0000_ffff) as u32) }, + Group::from_bits_retain((memberships_filter >> 16) as u32), + Group::from_bits_retain((memberships_filter & 0x0000_ffff) as u32), ) }