From 25c9c3681eb381caf7707d414222e3059cef3fbe Mon Sep 17 00:00:00 2001 From: Mitchell M Date: Sat, 2 Nov 2024 23:29:48 -0500 Subject: [PATCH] start to add physics --- Cargo.lock | 289 +++ Cargo.toml | 3 +- art/crooks.blend | Bin 1429164 -> 1448508 bytes assets/blueprints/Hotel.glb | Bin 99468 -> 99824 bytes assets/blueprints/Player.glb | Bin 219980 -> 220048 bytes assets/levels/World.glb | Bin 912 -> 1412 bytes assets/levels/World.meta.ron | 2 +- assets/registry.json | 3321 ++++++++++++++++++++++++++++++++++ src/char_controller.rs | 450 +++++ src/main.rs | 64 +- 10 files changed, 4108 insertions(+), 21 deletions(-) create mode 100644 src/char_controller.rs diff --git a/Cargo.lock b/Cargo.lock index 7542aaf..95596a7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -394,6 +394,36 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "avian3d" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "263f406c08c5ec296039ba06d7aa50e54f9ecd996f682aaa63eae25709e8935b" +dependencies = [ + "avian_derive", + "bevy", + "bevy_math", + "bitflags 2.6.0", + "derive_more", + "fxhash", + "indexmap", + "itertools", + "nalgebra", + "parry3d", + "parry3d-f64", +] + +[[package]] +name = "avian_derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4adeeecb6d4628d3ca11836ce9af8309f9552d4bd3e3f6e4368440d8163260c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.85", +] + [[package]] name = "backtrace" version = "0.3.74" @@ -1881,6 +1911,12 @@ dependencies = [ "const_soft_float", ] +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + [[package]] name = "core-foundation" version = "0.9.4" @@ -1996,6 +2032,7 @@ dependencies = [ name = "crooks" version = "0.1.0" dependencies = [ + "avian3d", "bevy", "bevy_editor_pls", "blenvy", @@ -2014,6 +2051,25 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -2107,6 +2163,19 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +[[package]] +name = "derive_more" +version = "0.99.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.85", +] + [[package]] name = "dispatch" version = "0.2.0" @@ -2545,6 +2614,15 @@ dependencies = [ "thread_local", ] +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -3159,6 +3237,12 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + [[package]] name = "libredox" version = "0.1.3" @@ -3188,6 +3272,7 @@ checksum = "dc3129ca879c52b7e814b7af6f7e1586c771a043ec90761e71d4322a65822848" dependencies = [ "async-channel", "async-compat", + "avian3d", "bevy", "bevy_web_keepalive", "bincode", @@ -3286,6 +3371,16 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "matrixmultiply" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "memchr" version = "2.7.4" @@ -3380,6 +3475,34 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "nalgebra" +version = "0.32.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" +dependencies = [ + "approx", + "glam 0.27.0", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational", + "num-traits", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.85", +] + [[package]] name = "ndk" version = "0.8.0" @@ -3507,6 +3630,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + [[package]] name = "num-derive" version = "0.4.2" @@ -3518,6 +3650,25 @@ dependencies = [ "syn 2.0.85", ] +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -3525,6 +3676,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -3877,6 +4029,52 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "parry3d" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa342e0cdfc774fed0196714290ba2d85408b8ce9f295c40a0b1e05f3f8256ab" +dependencies = [ + "approx", + "arrayvec", + "bitflags 1.3.2", + "downcast-rs", + "either", + "log", + "nalgebra", + "num-derive", + "num-traits", + "rayon", + "rustc-hash", + "simba", + "slab", + "smallvec", + "spade", +] + +[[package]] +name = "parry3d-f64" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc07fa374273eca29066d59d3ded520bf845ed582e38c0d60109459ea4ed76e" +dependencies = [ + "approx", + "arrayvec", + "bitflags 1.3.2", + "downcast-rs", + "either", + "log", + "nalgebra", + "num-derive", + "num-traits", + "rayon", + "rustc-hash", + "simba", + "slab", + "smallvec", + "spade", +] + [[package]] name = "paste" version = "1.0.15" @@ -4163,6 +4361,32 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "rectangle-pack" version = "0.4.2" @@ -4243,6 +4467,12 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3df6368f71f205ff9c33c076d170dd56ebf68e8161c733c0caa07a7a5509ed53" +[[package]] +name = "robust" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" + [[package]] name = "rodio" version = "0.18.1" @@ -4278,6 +4508,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + [[package]] name = "rustix" version = "0.38.38" @@ -4306,6 +4545,15 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +[[package]] +name = "safe_arch" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" +dependencies = [ + "bytemuck", +] + [[package]] name = "same-file" version = "1.0.6" @@ -4352,6 +4600,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + [[package]] name = "send_wrapper" version = "0.6.0" @@ -4405,6 +4659,19 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +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 = "simd-adler32" version = "0.3.7" @@ -4472,6 +4739,18 @@ dependencies = [ "serde", ] +[[package]] +name = "spade" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f5ef1f863aca7d1d7dda7ccfc36a0a4279bd6d3c375176e5e0712e25cb4889" +dependencies = [ + "hashbrown 0.14.5", + "num-traits", + "robust", + "smallvec", +] + [[package]] name = "spinning_top" version = "0.3.0" @@ -5284,6 +5563,16 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wide" +version = "0.7.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690" +dependencies = [ + "bytemuck", + "safe_arch", +] + [[package]] name = "widestring" version = "1.1.0" diff --git a/Cargo.toml b/Cargo.toml index 20dac0b..7025d15 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,12 +4,13 @@ version = "0.1.0" edition = "2021" [dependencies] +avian3d = "0.1.2" bevy = { version = "0.14.2", features = ["jpeg"] } bevy_editor_pls = "0.10.0" blenvy = "0.1.0-alpha.1" clap = { version = "4.5.20", features = ["derive"] } lazy_static = "1.5.0" -lightyear = "0.17.1" +lightyear = { version = "0.17.1", features = ["avian3d"] } serde = { version = "1.0.213", features = ["derive"] } [profile.dev.package."*"] diff --git a/art/crooks.blend b/art/crooks.blend index 4a20d3469b848f6cf44da9fe5febb6a4c306cc8a..bb63fc61bfe5b3e444317778823f9043b04a11d3 100644 GIT binary patch delta 188324 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

Mdht}{Yyw0TAz&AVF|JZAK#@UE>0M&*LaOz>1 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 a3d#mrRl+jEK`5qu+fCu^+ir?{`vL&UEOZqB delta 180783 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

R5K~_K#^s~47*jaW<%zLe%PO> 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 diff --git a/assets/blueprints/Player.glb b/assets/blueprints/Player.glb index 15404224beaa9afc25c8d95623794e13ecd9c11c..c835b8be09914d7eb51f21d90d6819e0147a5c4b 100644 GIT binary patch delta 55827 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 delta 51945 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 delta 132 zcmZqSp1{tRo)hB6#K6EXfti7!hIt}i;N;1Sm6KhV$|mzLSxnx=G": { "isComponent": false, "isResource": false, @@ -47,6 +107,45 @@ "type": "string", "typeInfo": "Value" }, + "alloc::vec::Vec<(bevy_ecs::entity::Entity, bevy_ecs::entity::Entity)>": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/(bevy_ecs::entity::Entity, bevy_ecs::entity::Entity)" + } + }, + "long_name": "alloc::vec::Vec<(bevy_ecs::entity::Entity, bevy_ecs::entity::Entity)>", + "short_name": "Vec<(Entity, Entity)>", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec<[u32; 2]>": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/[u32; 2]" + } + }, + "long_name": "alloc::vec::Vec<[u32; 2]>", + "short_name": "Vec<[u32; 2]>", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec<[u32; 3]>": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/[u32; 3]" + } + }, + "long_name": "alloc::vec::Vec<[u32; 3]>", + "short_name": "Vec<[u32; 3]>", + "type": "array", + "typeInfo": "List" + }, "alloc::vec::Vec": { "isComponent": false, "isResource": false, @@ -60,6 +159,19 @@ "type": "array", "typeInfo": "List" }, + "alloc::vec::Vec>": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "long_name": "alloc::vec::Vec>", + "short_name": "Vec>", + "type": "array", + "typeInfo": "List" + }, "alloc::vec::Vec": { "isComponent": false, "isResource": false, @@ -294,6 +406,2772 @@ "type": "array", "typeInfo": "List" }, + "avian3d::collision::broad_phase::AabbIntersections": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::collision::broad_phase::AabbIntersections", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "AabbIntersections", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::collision::broad_phase::BroadCollisionPairs": { + "isComponent": false, + "isResource": true, + "items": false, + "long_name": "avian3d::collision::broad_phase::BroadCollisionPairs", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec<(bevy_ecs::entity::Entity, bevy_ecs::entity::Entity)>" + } + } + ], + "short_name": "BroadCollisionPairs", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::collision::collider::ColliderAabb": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::collision::collider::ColliderAabb", + "properties": { + "max": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "min": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "min", + "max" + ], + "short_name": "ColliderAabb", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::collision::collider::ColliderParent": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::collision::collider::ColliderParent", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + ], + "short_name": "ColliderParent", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::collision::collider::ColliderTransform": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::collision::collider::ColliderTransform", + "properties": { + "rotation": { + "type": { + "$ref": "#/$defs/avian3d::position::Rotation" + } + }, + "scale": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "translation": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "translation", + "rotation", + "scale" + ], + "short_name": "ColliderTransform", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::collision::collider::CollidingEntities": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::collision::collider::CollidingEntities", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashSet" + } + } + ], + "short_name": "CollidingEntities", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::collision::collider::CollisionMargin": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::collision::collider::CollisionMargin", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "CollisionMargin", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::collision::collider::PreviousColliderTransform": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::collision::collider::PreviousColliderTransform", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::collision::collider::ColliderTransform" + } + } + ], + "short_name": "PreviousColliderTransform", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::collision::collider::Sensor": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::collision::collider::Sensor", + "properties": {}, + "required": [], + "short_name": "Sensor", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::collision::collider::constructor::ColliderConstructor": { + "isComponent": true, + "isResource": false, + "long_name": "avian3d::collision::collider::constructor::ColliderConstructor", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Sphere", + "properties": { + "radius": { + "long_name": "radius", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "radius" + ], + "short_name": "Sphere", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Cuboid", + "properties": { + "x_length": { + "long_name": "x_length", + "type": { + "$ref": "#/$defs/f32" + } + }, + "y_length": { + "long_name": "y_length", + "type": { + "$ref": "#/$defs/f32" + } + }, + "z_length": { + "long_name": "z_length", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x_length", + "y_length", + "z_length" + ], + "short_name": "Cuboid", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "RoundCuboid", + "properties": { + "border_radius": { + "long_name": "border_radius", + "type": { + "$ref": "#/$defs/f32" + } + }, + "x_length": { + "long_name": "x_length", + "type": { + "$ref": "#/$defs/f32" + } + }, + "y_length": { + "long_name": "y_length", + "type": { + "$ref": "#/$defs/f32" + } + }, + "z_length": { + "long_name": "z_length", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x_length", + "y_length", + "z_length", + "border_radius" + ], + "short_name": "RoundCuboid", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Cylinder", + "properties": { + "height": { + "long_name": "height", + "type": { + "$ref": "#/$defs/f32" + } + }, + "radius": { + "long_name": "radius", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "radius", + "height" + ], + "short_name": "Cylinder", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Cone", + "properties": { + "height": { + "long_name": "height", + "type": { + "$ref": "#/$defs/f32" + } + }, + "radius": { + "long_name": "radius", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "radius", + "height" + ], + "short_name": "Cone", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Capsule", + "properties": { + "height": { + "long_name": "height", + "type": { + "$ref": "#/$defs/f32" + } + }, + "radius": { + "long_name": "radius", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "radius", + "height" + ], + "short_name": "Capsule", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "CapsuleEndpoints", + "properties": { + "a": { + "long_name": "a", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "b": { + "long_name": "b", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "radius": { + "long_name": "radius", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "radius", + "a", + "b" + ], + "short_name": "CapsuleEndpoints", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "HalfSpace", + "properties": { + "outward_normal": { + "long_name": "outward_normal", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "outward_normal" + ], + "short_name": "HalfSpace", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Segment", + "properties": { + "a": { + "long_name": "a", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "b": { + "long_name": "b", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "a", + "b" + ], + "short_name": "Segment", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Triangle", + "properties": { + "a": { + "long_name": "a", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "b": { + "long_name": "b", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "c": { + "long_name": "c", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "a", + "b", + "c" + ], + "short_name": "Triangle", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Polyline", + "properties": { + "indices": { + "long_name": "indices", + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "vertices": { + "long_name": "vertices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "vertices" + ], + "short_name": "Polyline", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Trimesh", + "properties": { + "indices": { + "long_name": "indices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec<[u32; 3]>" + } + }, + "vertices": { + "long_name": "vertices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "vertices", + "indices" + ], + "short_name": "Trimesh", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "TrimeshWithConfig", + "properties": { + "flags": { + "long_name": "flags", + "type": { + "$ref": "#/$defs/avian3d::collision::collider::parry::TrimeshFlags" + } + }, + "indices": { + "long_name": "indices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec<[u32; 3]>" + } + }, + "vertices": { + "long_name": "vertices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "vertices", + "indices", + "flags" + ], + "short_name": "TrimeshWithConfig", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "ConvexDecomposition", + "properties": { + "indices": { + "long_name": "indices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec<[u32; 3]>" + } + }, + "vertices": { + "long_name": "vertices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "vertices", + "indices" + ], + "short_name": "ConvexDecomposition", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "ConvexDecompositionWithConfig", + "properties": { + "indices": { + "long_name": "indices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec<[u32; 3]>" + } + }, + "params": { + "long_name": "params", + "type": { + "$ref": "#/$defs/avian3d::collision::collider::parry::VhacdParameters" + } + }, + "vertices": { + "long_name": "vertices", + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "vertices", + "indices", + "params" + ], + "short_name": "ConvexDecompositionWithConfig", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "ConvexHull", + "properties": { + "points": { + "long_name": "points", + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "points" + ], + "short_name": "ConvexHull", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Heightfield", + "properties": { + "heights": { + "long_name": "heights", + "type": { + "$ref": "#/$defs/alloc::vec::Vec>" + } + }, + "scale": { + "long_name": "scale", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "heights", + "scale" + ], + "short_name": "Heightfield", + "type": "object", + "typeInfo": "Struct" + }, + { + "long_name": "TrimeshFromMesh" + }, + { + "items": false, + "long_name": "TrimeshFromMeshWithConfig", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::collision::collider::parry::TrimeshFlags" + } + } + ], + "short_name": "TrimeshFromMeshWithConfig", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "ConvexDecompositionFromMesh" + }, + { + "items": false, + "long_name": "ConvexDecompositionFromMeshWithConfig", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::collision::collider::parry::VhacdParameters" + } + } + ], + "short_name": "ConvexDecompositionFromMeshWithConfig", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "ConvexHullFromMesh" + } + ], + "short_name": "ColliderConstructor", + "type": "object", + "typeInfo": "Enum" + }, + "avian3d::collision::collider::constructor::ColliderConstructorHierarchy": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::collision::collider::constructor::ColliderConstructorHierarchy", + "properties": { + "config": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" + } + }, + "default_constructor": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "default_density": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::mass_properties::ColliderDensity" + } + }, + "default_layers": { + "type": { + "$ref": "#/$defs/avian3d::collision::layers::CollisionLayers" + } + } + }, + "required": [ + "default_layers", + "default_density", + "config" + ], + "short_name": "ColliderConstructorHierarchy", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::collision::collider::constructor::ColliderConstructorHierarchyConfig": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::collision::collider::constructor::ColliderConstructorHierarchyConfig", + "properties": { + "constructor": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "density": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "layers": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, + "required": [], + "short_name": "ColliderConstructorHierarchyConfig", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::collision::collider::parry::FillMode": { + "isComponent": false, + "isResource": false, + "long_name": "avian3d::collision::collider::parry::FillMode", + "oneOf": [ + { + "long_name": "SurfaceOnly" + }, + { + "additionalProperties": false, + "long_name": "FloodFill", + "properties": { + "detect_cavities": { + "long_name": "detect_cavities", + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "detect_cavities" + ], + "short_name": "FloodFill", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "FillMode", + "type": "object", + "typeInfo": "Enum" + }, + "avian3d::collision::collider::parry::TrimeshFlags": { + "isComponent": false, + "isResource": false, + "long_name": "avian3d::collision::collider::parry::TrimeshFlags", + "short_name": "TrimeshFlags", + "type": "object", + "typeInfo": "Value" + }, + "avian3d::collision::collider::parry::VhacdParameters": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::collision::collider::parry::VhacdParameters", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "beta": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "concavity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "convex_hull_approximation": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "convex_hull_downsampling": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "fill_mode": { + "type": { + "$ref": "#/$defs/avian3d::collision::collider::parry::FillMode" + } + }, + "max_convex_hulls": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "plane_downsampling": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "resolution": { + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "concavity", + "alpha", + "beta", + "resolution", + "plane_downsampling", + "convex_hull_downsampling", + "fill_mode", + "convex_hull_approximation", + "max_convex_hulls" + ], + "short_name": "VhacdParameters", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::collision::layers::CollisionLayers": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::collision::layers::CollisionLayers", + "properties": { + "filters": { + "type": { + "$ref": "#/$defs/avian3d::collision::layers::LayerMask" + } + }, + "memberships": { + "type": { + "$ref": "#/$defs/avian3d::collision::layers::LayerMask" + } + } + }, + "required": [ + "memberships", + "filters" + ], + "short_name": "CollisionLayers", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::collision::layers::LayerMask": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "avian3d::collision::layers::LayerMask", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "LayerMask", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::collision::narrow_phase::NarrowPhaseConfig": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "avian3d::collision::narrow_phase::NarrowPhaseConfig", + "properties": { + "contact_tolerance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "default_speculative_margin": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "match_contacts": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "default_speculative_margin", + "contact_tolerance", + "match_contacts" + ], + "short_name": "NarrowPhaseConfig", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::debug_render::configuration::ContactGizmoScale": { + "isComponent": false, + "isResource": false, + "long_name": "avian3d::debug_render::configuration::ContactGizmoScale", + "oneOf": [ + { + "items": false, + "long_name": "Constant", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Constant", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Scaled", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Scaled", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "ContactGizmoScale", + "type": "object", + "typeInfo": "Enum" + }, + "avian3d::debug_render::configuration::DebugRender": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::debug_render::configuration::DebugRender", + "properties": { + "aabb_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "axis_lengths": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "collider_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "hide_mesh": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "sleeping_color_multiplier": { + "type": { + "$ref": "#/$defs/core::option::Option<[f32; 4]>" + } + } + }, + "required": [ + "hide_mesh" + ], + "short_name": "DebugRender", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::debug_render::configuration::PhysicsGizmos": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::debug_render::configuration::PhysicsGizmos", + "properties": { + "aabb_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "axis_lengths": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "collider_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "contact_normal_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "contact_normal_scale": { + "type": { + "$ref": "#/$defs/avian3d::debug_render::configuration::ContactGizmoScale" + } + }, + "contact_point_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "hide_meshes": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "joint_anchor_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "joint_separation_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "raycast_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "raycast_normal_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "raycast_point_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "shapecast_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "shapecast_normal_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "shapecast_point_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "shapecast_shape_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "sleeping_color_multiplier": { + "type": { + "$ref": "#/$defs/core::option::Option<[f32; 4]>" + } + } + }, + "required": [ + "contact_normal_scale", + "hide_meshes" + ], + "short_name": "PhysicsGizmos", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::ccd::SpeculativeMargin": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::ccd::SpeculativeMargin", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "SpeculativeMargin", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::ccd::SweepMode": { + "isComponent": false, + "isResource": false, + "long_name": "avian3d::dynamics::ccd::SweepMode", + "oneOf": [ + "Linear", + "NonLinear" + ], + "short_name": "SweepMode", + "type": "string", + "typeInfo": "Enum" + }, + "avian3d::dynamics::ccd::SweptCcd": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::ccd::SweptCcd", + "properties": { + "angular_threshold": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "include_dynamic": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "linear_threshold": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "mode": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::ccd::SweepMode" + } + } + }, + "required": [ + "mode", + "include_dynamic", + "linear_threshold", + "angular_threshold" + ], + "short_name": "SweptCcd", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::integrator::Gravity": { + "isComponent": false, + "isResource": true, + "items": false, + "long_name": "avian3d::dynamics::integrator::Gravity", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "Gravity", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::AccumulatedTranslation": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::AccumulatedTranslation", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "AccumulatedTranslation", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::AngularDamping": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::AngularDamping", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "AngularDamping", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::AngularVelocity": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::AngularVelocity", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "AngularVelocity", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::CoefficientCombine": { + "isComponent": false, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::CoefficientCombine", + "oneOf": [ + "Average", + "Min", + "Multiply", + "Max" + ], + "short_name": "CoefficientCombine", + "type": "string", + "typeInfo": "Enum" + }, + "avian3d::dynamics::rigid_body::Dominance": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::Dominance", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/i8" + } + } + ], + "short_name": "Dominance", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::Friction": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::Friction", + "properties": { + "combine_rule": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::CoefficientCombine" + } + }, + "dynamic_coefficient": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "static_coefficient": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "dynamic_coefficient", + "static_coefficient", + "combine_rule" + ], + "short_name": "Friction", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::GravityScale": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::GravityScale", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "GravityScale", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::LinearDamping": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::LinearDamping", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "LinearDamping", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::LinearVelocity": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::LinearVelocity", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "LinearVelocity", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::PreSolveAngularVelocity": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::PreSolveAngularVelocity", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "PreSolveAngularVelocity", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::PreSolveLinearVelocity": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::PreSolveLinearVelocity", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "PreSolveLinearVelocity", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::Restitution": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::Restitution", + "properties": { + "coefficient": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "combine_rule": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::CoefficientCombine" + } + } + }, + "required": [ + "coefficient", + "combine_rule" + ], + "short_name": "Restitution", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::RigidBody": { + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::RigidBody", + "oneOf": [ + "Dynamic", + "Static", + "Kinematic" + ], + "short_name": "RigidBody", + "type": "string", + "typeInfo": "Enum" + }, + "avian3d::dynamics::rigid_body::Sleeping": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::Sleeping", + "properties": {}, + "required": [], + "short_name": "Sleeping", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::SleepingDisabled": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::SleepingDisabled", + "properties": {}, + "required": [], + "short_name": "SleepingDisabled", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::TimeSleeping": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::TimeSleeping", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "TimeSleeping", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::forces::ExternalAngularImpulse": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::forces::ExternalAngularImpulse", + "properties": { + "impulse": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "persistent": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "impulse", + "persistent" + ], + "short_name": "ExternalAngularImpulse", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::forces::ExternalForce": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::forces::ExternalForce", + "properties": { + "force": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "persistent": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "force", + "persistent", + "torque" + ], + "short_name": "ExternalForce", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::forces::ExternalImpulse": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::forces::ExternalImpulse", + "properties": { + "angular_impulse": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "impulse": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "persistent": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "impulse", + "persistent", + "angular_impulse" + ], + "short_name": "ExternalImpulse", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::forces::ExternalTorque": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::forces::ExternalTorque", + "properties": { + "persistent": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "torque", + "persistent" + ], + "short_name": "ExternalTorque", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::locked_axes::LockedAxes": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::locked_axes::LockedAxes", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u8" + } + } + ], + "short_name": "LockedAxes", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::mass_properties::CenterOfMass": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::mass_properties::CenterOfMass", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "CenterOfMass", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::mass_properties::ColliderDensity": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::mass_properties::ColliderDensity", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "ColliderDensity", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::mass_properties::ColliderMassProperties": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::rigid_body::mass_properties::ColliderMassProperties", + "properties": { + "center_of_mass": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::mass_properties::CenterOfMass" + } + }, + "inertia": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::mass_properties::Inertia" + } + }, + "inverse_inertia": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::mass_properties::InverseInertia" + } + }, + "inverse_mass": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::mass_properties::InverseMass" + } + }, + "mass": { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::mass_properties::Mass" + } + } + }, + "required": [ + "mass", + "inverse_mass", + "inertia", + "inverse_inertia", + "center_of_mass" + ], + "short_name": "ColliderMassProperties", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::rigid_body::mass_properties::Inertia": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::mass_properties::Inertia", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Mat3" + } + } + ], + "short_name": "Inertia", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::mass_properties::InverseInertia": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::mass_properties::InverseInertia", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Mat3" + } + } + ], + "short_name": "InverseInertia", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::mass_properties::InverseMass": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::mass_properties::InverseMass", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "InverseMass", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::rigid_body::mass_properties::Mass": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::rigid_body::mass_properties::Mass", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Mass", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::sleeping::DeactivationTime": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "avian3d::dynamics::sleeping::DeactivationTime", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "DeactivationTime", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::dynamics::sleeping::SleepingThreshold": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "avian3d::dynamics::sleeping::SleepingThreshold", + "properties": { + "angular": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "linear": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "linear", + "angular" + ], + "short_name": "SleepingThreshold", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::SolverConfig": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "avian3d::dynamics::solver::SolverConfig", + "properties": { + "contact_damping_ratio": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "contact_frequency_factor": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "max_overlap_solve_speed": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "restitution_iterations": { + "type": { + "$ref": "#/$defs/usize" + } + }, + "restitution_threshold": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "warm_start_coefficient": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "contact_damping_ratio", + "contact_frequency_factor", + "max_overlap_solve_speed", + "warm_start_coefficient", + "restitution_threshold", + "restitution_iterations" + ], + "short_name": "SolverConfig", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::joints::AngleLimit": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::dynamics::solver::joints::AngleLimit", + "properties": { + "max": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "min": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "min", + "max" + ], + "short_name": "AngleLimit", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::joints::DistanceLimit": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::dynamics::solver::joints::DistanceLimit", + "properties": { + "max": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "min": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "min", + "max" + ], + "short_name": "DistanceLimit", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::joints::distance::DistanceJoint": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::solver::joints::distance::DistanceJoint", + "properties": { + "compliance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_angular": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_linear": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "entity1": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "entity2": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "force": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "length_limits": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "local_anchor1": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor2": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "rest_length": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "entity1", + "entity2", + "local_anchor1", + "local_anchor2", + "rest_length", + "damping_linear", + "damping_angular", + "lagrange", + "compliance", + "force" + ], + "short_name": "DistanceJoint", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::joints::fixed::FixedJoint": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::solver::joints::fixed::FixedJoint", + "properties": { + "align_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "align_torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "compliance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_angular": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_linear": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "entity1": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "entity2": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "force": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor1": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor2": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "position_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "entity1", + "entity2", + "local_anchor1", + "local_anchor2", + "damping_linear", + "damping_angular", + "position_lagrange", + "align_lagrange", + "compliance", + "force", + "align_torque" + ], + "short_name": "FixedJoint", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::joints::prismatic::PrismaticJoint": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::solver::joints::prismatic::PrismaticJoint", + "properties": { + "align_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "align_torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "compliance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_angular": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_linear": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "entity1": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "entity2": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "force": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "free_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "free_axis_limits": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "local_anchor1": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor2": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "position_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "entity1", + "entity2", + "local_anchor1", + "local_anchor2", + "free_axis", + "damping_linear", + "damping_angular", + "position_lagrange", + "align_lagrange", + "compliance", + "force", + "align_torque" + ], + "short_name": "PrismaticJoint", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::joints::revolute::RevoluteJoint": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::solver::joints::revolute::RevoluteJoint", + "properties": { + "align_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "align_torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "aligned_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "angle_limit": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "angle_limit_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "angle_limit_torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "compliance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_angular": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_linear": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "entity1": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "entity2": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "force": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor1": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor2": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "position_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "entity1", + "entity2", + "local_anchor1", + "local_anchor2", + "aligned_axis", + "damping_linear", + "damping_angular", + "position_lagrange", + "align_lagrange", + "angle_limit_lagrange", + "compliance", + "force", + "align_torque", + "angle_limit_torque" + ], + "short_name": "RevoluteJoint", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::dynamics::solver::joints::spherical::SphericalJoint": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::dynamics::solver::joints::spherical::SphericalJoint", + "properties": { + "compliance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_angular": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "damping_linear": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "entity1": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "entity2": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "force": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor1": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "local_anchor2": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "position_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "swing_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "swing_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "swing_limit": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "swing_torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "twist_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "twist_lagrange": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "twist_limit": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "twist_torque": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "entity1", + "entity2", + "local_anchor1", + "local_anchor2", + "swing_axis", + "twist_axis", + "damping_linear", + "damping_angular", + "position_lagrange", + "swing_lagrange", + "twist_lagrange", + "compliance", + "force", + "swing_torque", + "twist_torque" + ], + "short_name": "SphericalJoint", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::position::Position": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::position::Position", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "Position", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::position::PreSolveAccumulatedTranslation": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::position::PreSolveAccumulatedTranslation", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "PreSolveAccumulatedTranslation", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::position::PreviousRotation": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::position::PreviousRotation", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::position::Rotation" + } + } + ], + "short_name": "PreviousRotation", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::position::Rotation": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::position::Rotation", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Quat" + } + } + ], + "short_name": "Rotation", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::prepare::PrepareConfig": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "avian3d::prepare::PrepareConfig", + "properties": { + "position_to_transform": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "transform_to_position": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "position_to_transform", + "transform_to_position" + ], + "short_name": "PrepareConfig", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::schedule::SubstepCount": { + "isComponent": false, + "isResource": true, + "items": false, + "long_name": "avian3d::schedule::SubstepCount", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "SubstepCount", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::schedule::time::Physics": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::schedule::time::Physics", + "properties": { + "paused": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "relative_speed": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "timestep_mode": { + "type": { + "$ref": "#/$defs/avian3d::schedule::time::TimestepMode" + } + } + }, + "required": [ + "timestep_mode", + "paused", + "relative_speed" + ], + "short_name": "Physics", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::schedule::time::Substeps": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::schedule::time::Substeps", + "properties": {}, + "required": [], + "short_name": "Substeps", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::schedule::time::TimestepMode": { + "isComponent": false, + "isResource": false, + "long_name": "avian3d::schedule::time::TimestepMode", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Fixed", + "properties": { + "delta": { + "long_name": "delta", + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "max_delta_overstep": { + "long_name": "max_delta_overstep", + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "overstep": { + "long_name": "overstep", + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "delta", + "overstep", + "max_delta_overstep" + ], + "short_name": "Fixed", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "FixedOnce", + "properties": { + "delta": { + "long_name": "delta", + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "delta" + ], + "short_name": "FixedOnce", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Variable", + "properties": { + "max_delta": { + "long_name": "max_delta", + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "max_delta" + ], + "short_name": "Variable", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "TimestepMode", + "type": "object", + "typeInfo": "Enum" + }, + "avian3d::spatial_query::query_filter::SpatialQueryFilter": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "avian3d::spatial_query::query_filter::SpatialQueryFilter", + "properties": { + "excluded_entities": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashSet" + } + }, + "mask": { + "type": { + "$ref": "#/$defs/avian3d::collision::layers::LayerMask" + } + } + }, + "required": [ + "mask", + "excluded_entities" + ], + "short_name": "SpatialQueryFilter", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::spatial_query::ray_caster::RayCaster": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::spatial_query::ray_caster::RayCaster", + "properties": { + "direction": { + "type": { + "$ref": "#/$defs/bevy_math::direction::Dir3" + } + }, + "enabled": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "global_direction": { + "type": { + "$ref": "#/$defs/bevy_math::direction::Dir3" + } + }, + "global_origin": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "ignore_self": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "max_hits": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "max_time_of_impact": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "origin": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "query_filter": { + "type": { + "$ref": "#/$defs/avian3d::spatial_query::query_filter::SpatialQueryFilter" + } + }, + "solid": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "enabled", + "origin", + "global_origin", + "direction", + "global_direction", + "max_time_of_impact", + "max_hits", + "solid", + "ignore_self", + "query_filter" + ], + "short_name": "RayCaster", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::spatial_query::shape_caster::ShapeCaster": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::spatial_query::shape_caster::ShapeCaster", + "properties": { + "direction": { + "type": { + "$ref": "#/$defs/bevy_math::direction::Dir3" + } + }, + "enabled": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "global_direction": { + "type": { + "$ref": "#/$defs/bevy_math::direction::Dir3" + } + }, + "global_origin": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "global_shape_rotation": { + "type": { + "$ref": "#/$defs/glam::Quat" + } + }, + "ignore_origin_penetration": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "ignore_self": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "max_hits": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "max_time_of_impact": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "origin": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "query_filter": { + "type": { + "$ref": "#/$defs/avian3d::spatial_query::query_filter::SpatialQueryFilter" + } + }, + "shape_rotation": { + "type": { + "$ref": "#/$defs/glam::Quat" + } + } + }, + "required": [ + "enabled", + "origin", + "global_origin", + "shape_rotation", + "global_shape_rotation", + "direction", + "global_direction", + "max_time_of_impact", + "max_hits", + "ignore_origin_penetration", + "ignore_self", + "query_filter" + ], + "short_name": "ShapeCaster", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::sync::PreviousGlobalTransform": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "avian3d::sync::PreviousGlobalTransform", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_transform::components::global_transform::GlobalTransform" + } + } + ], + "short_name": "PreviousGlobalTransform", + "type": "array", + "typeInfo": "TupleStruct" + }, + "avian3d::sync::SyncConfig": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "avian3d::sync::SyncConfig", + "properties": { + "position_to_transform": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "transform_to_position": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "position_to_transform", + "transform_to_position" + ], + "short_name": "SyncConfig", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::sync::ancestor_marker::AncestorMarker": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::sync::ancestor_marker::AncestorMarker", + "properties": {}, + "required": [], + "short_name": "AncestorMarker", + "type": "object", + "typeInfo": "Struct" + }, + "avian3d::sync::ancestor_marker::AncestorMarker": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "avian3d::sync::ancestor_marker::AncestorMarker", + "properties": {}, + "required": [], + "short_name": "AncestorMarker", + "type": "object", + "typeInfo": "Struct" + }, "bevy_animation::AnimationClip": { "additionalProperties": false, "isComponent": false, @@ -6700,6 +9578,22 @@ "type": "string", "typeInfo": "Enum" }, + "bevy_math::direction::Dir3": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_math::direction::Dir3", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "Dir3", + "type": "array", + "typeInfo": "TupleStruct" + }, "bevy_math::rects::rect::Rect": { "additionalProperties": false, "isComponent": false, @@ -9778,6 +12672,164 @@ "type": "object", "typeInfo": "Struct" }, + "bevy_time::time::Time": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_time::time::Time", + "properties": { + "context": { + "type": { + "$ref": "#/$defs/avian3d::schedule::time::Physics" + } + }, + "delta": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "delta_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "delta_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "elapsed_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_seconds_wrapped": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_wrapped_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_wrapped": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "wrap_period": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "context", + "wrap_period", + "delta", + "delta_seconds", + "delta_seconds_f64", + "elapsed", + "elapsed_seconds", + "elapsed_seconds_f64", + "elapsed_wrapped", + "elapsed_seconds_wrapped", + "elapsed_seconds_wrapped_f64" + ], + "short_name": "Time", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::time::Time": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_time::time::Time", + "properties": { + "context": { + "type": { + "$ref": "#/$defs/avian3d::schedule::time::Substeps" + } + }, + "delta": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "delta_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "delta_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "elapsed_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_seconds_wrapped": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_wrapped_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_wrapped": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "wrap_period": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "context", + "wrap_period", + "delta", + "delta_seconds", + "delta_seconds_f64", + "elapsed", + "elapsed_seconds", + "elapsed_seconds_f64", + "elapsed_wrapped", + "elapsed_seconds_wrapped", + "elapsed_seconds_wrapped_f64" + ], + "short_name": "Time", + "type": "object", + "typeInfo": "Struct" + }, "bevy_time::time::Time": { "additionalProperties": false, "isComponent": false, @@ -11385,6 +14437,24 @@ } } }, + "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>", + "short_name": "HashMap, DefaultHashBuilder>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, "bevy_utils::hashbrown::HashMap": { "isComponent": false, "isResource": false, @@ -11565,6 +14635,14 @@ } } }, + "bevy_utils::hashbrown::HashSet": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_utils::hashbrown::HashSet", + "short_name": "HashSet", + "type": "object", + "typeInfo": "Value" + }, "bevy_window::cursor::CursorIcon": { "isComponent": false, "isResource": false, @@ -13118,6 +16196,33 @@ "type": "object", "typeInfo": "Enum" }, + "core::option::Option<[f32; 4]>": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option<[f32; 4]>", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/[f32; 4]" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option<[f32; 4]>", + "type": "object", + "typeInfo": "Enum" + }, "core::option::Option": { "isComponent": false, "isResource": false, @@ -13145,6 +16250,33 @@ "type": "object", "typeInfo": "Enum" }, + "core::option::Option>": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option>", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec<[u32; 2]>" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option>", + "type": "object", + "typeInfo": "Enum" + }, "core::option::Option>": { "isComponent": false, "isResource": false, @@ -13172,6 +16304,168 @@ "type": "object", "typeInfo": "Enum" }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::collision::collider::constructor::ColliderConstructor" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::collision::collider::constructor::ColliderConstructorHierarchyConfig" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::collision::layers::CollisionLayers" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::dynamics::rigid_body::mass_properties::ColliderDensity" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::dynamics::solver::joints::AngleLimit" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/avian3d::dynamics::solver::joints::DistanceLimit" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, "core::option::Option>": { "isComponent": false, "isResource": false, @@ -13766,6 +17060,33 @@ "type": "object", "typeInfo": "Enum" }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, "core::option::Option": { "isComponent": false, "isResource": false, diff --git a/src/char_controller.rs b/src/char_controller.rs new file mode 100644 index 0000000..5a4fa6c --- /dev/null +++ b/src/char_controller.rs @@ -0,0 +1,450 @@ +use avian3d::{math::*, prelude::*}; +use bevy::{ecs::query::Has, prelude::*, window::PrimaryWindow}; + +pub struct CharacterControllerPlugin; + +impl Plugin for CharacterControllerPlugin { + fn build(&self, app: &mut App) { + app.add_event::() + .add_systems( + Update, + ( + (keyboard_input, cursor_input), + update_grounded, + apply_gravity, + movement, + apply_movement_damping, + ) + .chain(), + ) + .add_systems( + // Run collision handling after collision detection. + // + // NOTE: The collision implementation here is very basic and a bit buggy. + // A collide-and-slide algorithm would likely work better. + PostProcessCollisions, + kinematic_controller_collisions, + ); + } +} + +/// An event sent for a movement input action. +#[derive(Event)] +pub enum MovementAction { + Move(Vector2), + Rotate(Vec2), + Jump, +} + +/// A marker component indicating that an entity is using a character controller. +#[derive(Component)] +pub struct CharacterController; + +/// A marker component indicating that an entity is on the ground. +#[derive(Component)] +#[component(storage = "SparseSet")] +pub struct Grounded; + +/// The acceleration used for character movement. +#[derive(Component)] +pub struct MovementAcceleration(Scalar); + +/// The damping factor used for slowing down movement. +#[derive(Component)] +pub struct MovementDampingFactor(Scalar); + +/// The strength of a jump. +#[derive(Component)] +pub struct JumpImpulse(Scalar); + +/// The gravitational acceleration used for a character controller. +#[derive(Component)] +pub struct ControllerGravity(Vector); + +/// The maximum angle a slope can have for a character controller +/// to be able to climb and jump. If the slope is steeper than this angle, +/// the character will slide down. +#[derive(Component)] +pub struct MaxSlopeAngle(Scalar); + +/// A bundle that contains the components needed for a basic +/// kinematic character controller. +#[derive(Bundle)] +pub struct CharacterControllerBundle { + character_controller: CharacterController, + rigid_body: RigidBody, + collider: Collider, + ground_caster: ShapeCaster, + gravity: ControllerGravity, + movement: MovementBundle, +} + +/// A bundle that contains components for character movement. +#[derive(Bundle)] +pub struct MovementBundle { + acceleration: MovementAcceleration, + damping: MovementDampingFactor, + jump_impulse: JumpImpulse, + max_slope_angle: MaxSlopeAngle, +} + +impl MovementBundle { + pub const fn new( + acceleration: Scalar, + damping: Scalar, + jump_impulse: Scalar, + max_slope_angle: Scalar, + ) -> Self { + Self { + acceleration: MovementAcceleration(acceleration), + damping: MovementDampingFactor(damping), + jump_impulse: JumpImpulse(jump_impulse), + max_slope_angle: MaxSlopeAngle(max_slope_angle), + } + } +} + +impl Default for MovementBundle { + fn default() -> Self { + Self::new(30.0, 0.9, 7.0, PI * 0.45) + } +} + +impl CharacterControllerBundle { + pub fn new(collider: Collider, gravity: Vector) -> Self { + // Create shape caster as a slightly smaller version of collider + let mut caster_shape = collider.clone(); + caster_shape.set_scale(Vector::ONE * 0.99, 10); + + Self { + character_controller: CharacterController, + rigid_body: RigidBody::Kinematic, + collider, + ground_caster: ShapeCaster::new( + caster_shape, + Vector::ZERO, + Quaternion::default(), + Dir3::NEG_Y, + ) + .with_max_time_of_impact(0.2), + gravity: ControllerGravity(gravity), + movement: MovementBundle::default(), + } + } + + pub fn with_movement( + mut self, + acceleration: Scalar, + damping: Scalar, + jump_impulse: Scalar, + max_slope_angle: Scalar, + ) -> Self { + self.movement = MovementBundle::new(acceleration, damping, jump_impulse, max_slope_angle); + self + } +} + +fn cursor_input( + mut q_windows: Query<&mut Window, With>, + mut ew_movement: EventWriter, +) { + let mut window = q_windows.single_mut(); + + let window_center = window.size() / 2.; + if let Some(cursor_pos) = window.cursor_position() { + let delta = cursor_pos - window_center; + if delta != Vec2::ZERO { + ew_movement.send(MovementAction::Rotate(delta)); + window.set_cursor_position(Some(window_center)); + } + } +} + +/// Sends [`MovementAction`] events based on keyboard input. +fn keyboard_input( + mut ew_movement: EventWriter, + keyboard_input: Res>, +) { + let up = keyboard_input.any_pressed([KeyCode::KeyW, KeyCode::ArrowUp]); + let down = keyboard_input.any_pressed([KeyCode::KeyS, KeyCode::ArrowDown]); + let left = keyboard_input.any_pressed([KeyCode::KeyA, KeyCode::ArrowLeft]); + let right = keyboard_input.any_pressed([KeyCode::KeyD, KeyCode::ArrowRight]); + + let horizontal = right as i8 - left as i8; + let vertical = up as i8 - down as i8; + let direction = Vector2::new(horizontal as Scalar, vertical as Scalar).clamp_length_max(1.0); + + if direction != Vector2::ZERO { + ew_movement.send(MovementAction::Move(direction)); + } + + if keyboard_input.just_pressed(KeyCode::Space) { + ew_movement.send(MovementAction::Jump); + } +} + +/// Updates the [`Grounded`] status for character controllers. +fn update_grounded( + mut commands: Commands, + mut query: Query< + (Entity, &ShapeHits, &Rotation, Option<&MaxSlopeAngle>), + With, + >, +) { + for (entity, hits, rotation, max_slope_angle) in &mut query { + // The character is grounded if the shape caster has a hit with a normal + // that isn't too steep. + let is_grounded = hits.iter().any(|hit| { + if let Some(angle) = max_slope_angle { + (rotation * -hit.normal2).angle_between(Vector::Y).abs() <= angle.0 + } else { + true + } + }); + + if is_grounded { + commands.entity(entity).insert(Grounded); + } else { + commands.entity(entity).remove::(); + } + } +} + +/// Responds to [`MovementAction`] events and moves character controllers accordingly. +fn movement( + time: Res