aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-23 08:56:27 -0800
committerGitHub <noreply@github.com>2022-01-23 08:56:27 -0800
commit1608a1323ed76cdf33644cfea599cea715acf7a9 (patch)
tree07b975a2b22b31f74a5efcbaa3d2a30aea31ae47
parentca635674fc72071d7ff546a749ac22766579b280 (diff)
parentb3b675d2de64d4437748ad46e41cca90c691de1a (diff)
downloadrapier-1608a1323ed76cdf33644cfea599cea715acf7a9.tar.gz
rapier-1608a1323ed76cdf33644cfea599cea715acf7a9.tar.bz2
rapier-1608a1323ed76cdf33644cfea599cea715acf7a9.zip
Merge pull request #282 from dimforge/critical-damping
Improve the CFM implementation
-rw-r--r--.gitignore2
-rw-r--r--.vscode/launch.json326
-rw-r--r--.vscode/tasks.json103
-rw-r--r--Cargo.toml4
-rw-r--r--assets/3d/camel_decimated.obj (renamed from examples3d/media/models/camel_decimated.obj)0
-rw-r--r--assets/3d/chair.obj (renamed from examples3d/media/models/chair.obj)0
-rw-r--r--assets/3d/cup_decimated.obj (renamed from examples3d/media/models/cup_decimated.obj)0
-rw-r--r--assets/3d/dilo_decimated.obj (renamed from examples3d/media/models/dilo_decimated.obj)0
-rw-r--r--assets/3d/feline_decimated.obj (renamed from examples3d/media/models/feline_decimated.obj)0
-rw-r--r--assets/3d/genus3_decimated.obj (renamed from examples3d/media/models/genus3_decimated.obj)0
-rw-r--r--assets/3d/hand2_decimated.obj (renamed from examples3d/media/models/hand2_decimated.obj)0
-rw-r--r--assets/3d/hand_decimated.obj (renamed from examples3d/media/models/hand_decimated.obj)0
-rw-r--r--assets/3d/hornbug.obj (renamed from examples3d/media/models/hornbug.obj)0
-rw-r--r--assets/3d/octopus_decimated.obj (renamed from examples3d/media/models/octopus_decimated.obj)0
-rw-r--r--assets/3d/rabbit_decimated.obj (renamed from examples3d/media/models/rabbit_decimated.obj)0
-rw-r--r--assets/3d/rust_logo_simplified.obj (renamed from examples3d/media/models/rust_logo_simplified.obj)0
-rw-r--r--assets/3d/screwdriver_decimated.obj (renamed from examples3d/media/models/screwdriver_decimated.obj)0
-rw-r--r--assets/3d/table.obj (renamed from examples3d/media/models/table.obj)0
-rw-r--r--assets/3d/tstTorusModel.obj (renamed from examples3d/media/models/tstTorusModel.obj)0
-rw-r--r--assets/3d/tstTorusModel2.obj (renamed from examples3d/media/models/tstTorusModel2.obj)0
-rw-r--r--assets/3d/tstTorusModel3.obj (renamed from examples3d/media/models/tstTorusModel3.obj)0
-rw-r--r--crates/rapier_testbed2d-f64/Cargo.toml57
-rw-r--r--crates/rapier_testbed3d-f64/Cargo.toml55
-rw-r--r--examples3d-f64/Cargo.toml36
-rw-r--r--examples3d-f64/all_examples3-f64.rs67
-rw-r--r--examples3d-f64/debug_serialized3.rs36
-rw-r--r--examples3d/convex_decomposition3.rs36
-rw-r--r--src/dynamics/integration_parameters.rs56
-rw-r--r--src/dynamics/solver/generic_velocity_constraint.rs5
-rw-r--r--src/dynamics/solver/generic_velocity_constraint_element.rs8
-rw-r--r--src/dynamics/solver/generic_velocity_ground_constraint.rs2
-rw-r--r--src/dynamics/solver/generic_velocity_ground_constraint_element.rs10
-rw-r--r--src/dynamics/solver/parallel_velocity_solver.rs9
-rw-r--r--src/dynamics/solver/velocity_constraint.rs20
-rw-r--r--src/dynamics/solver/velocity_constraint_element.rs6
-rw-r--r--src/dynamics/solver/velocity_constraint_wide.rs13
-rw-r--r--src/dynamics/solver/velocity_ground_constraint.rs8
-rw-r--r--src/dynamics/solver/velocity_ground_constraint_element.rs16
-rw-r--r--src/dynamics/solver/velocity_ground_constraint_wide.rs10
-rw-r--r--src/dynamics/solver/velocity_solver.rs166
-rw-r--r--src_testbed/graphics.rs8
-rw-r--r--src_testbed/objects/node.rs15
-rw-r--r--src_testbed/testbed.rs10
43 files changed, 930 insertions, 154 deletions
diff --git a/.gitignore b/.gitignore
index 055e3a4..db22dde 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,4 +6,4 @@ target
.DS_Store
package-lock.json
**/*.csv
-.vscode/
+.history \ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..3f328c5
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,326 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in library 'rapier2d'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--lib",
+ "--package=rapier2d"
+ ],
+ "filter": {
+ "name": "rapier2d",
+ "kind": "lib"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in library 'rapier2d_f64'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--lib",
+ "--package=rapier2d-f64"
+ ],
+ "filter": {
+ "name": "rapier2d_f64",
+ "kind": "lib"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in library 'rapier_testbed2d'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--lib",
+ "--package=rapier_testbed2d"
+ ],
+ "filter": {
+ "name": "rapier_testbed2d",
+ "kind": "lib"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug executable 'all_examples2'",
+ "cargo": {
+ "args": [
+ "build",
+ "--bin=all_examples2",
+ "--package=rapier-examples-2d"
+ ],
+ "filter": {
+ "name": "all_examples2",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in executable 'all_examples2'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--bin=all_examples2",
+ "--package=rapier-examples-2d"
+ ],
+ "filter": {
+ "name": "all_examples2",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug executable 'all_benchmarks2'",
+ "cargo": {
+ "args": [
+ "build",
+ "--bin=all_benchmarks2",
+ "--package=rapier-benchmarks-2d"
+ ],
+ "filter": {
+ "name": "all_benchmarks2",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in executable 'all_benchmarks2'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--bin=all_benchmarks2",
+ "--package=rapier-benchmarks-2d"
+ ],
+ "filter": {
+ "name": "all_benchmarks2",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in library 'rapier3d'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--lib",
+ "--package=rapier3d"
+ ],
+ "filter": {
+ "name": "rapier3d",
+ "kind": "lib"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in library 'rapier3d_f64'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--lib",
+ "--package=rapier3d-f64"
+ ],
+ "filter": {
+ "name": "rapier3d_f64",
+ "kind": "lib"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in library 'rapier_testbed3d'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--lib",
+ "--package=rapier_testbed3d"
+ ],
+ "filter": {
+ "name": "rapier_testbed3d",
+ "kind": "lib"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug executable 'all_examples3'",
+ "cargo": {
+ "args": [
+ "build",
+ "--bin=all_examples3",
+ "--package=rapier-examples-3d"
+ ],
+ "filter": {
+ "name": "all_examples3",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in executable 'all_examples3'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--bin=all_examples3",
+ "--package=rapier-examples-3d"
+ ],
+ "filter": {
+ "name": "all_examples3",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Run 'all_examples3'",
+ "cargo": {
+ "args": [
+ "run",
+ "--release",
+ "--bin=all_examples3",
+ "--package=rapier-examples-3d"
+ ],
+ "filter": {
+ "name": "all_examples3",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug executable 'harness_capsules3'",
+ "cargo": {
+ "args": [
+ "build",
+ "--bin=harness_capsules3",
+ "--package=rapier-examples-3d"
+ ],
+ "filter": {
+ "name": "harness_capsules3",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in executable 'harness_capsules3'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--bin=harness_capsules3",
+ "--package=rapier-examples-3d"
+ ],
+ "filter": {
+ "name": "harness_capsules3",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug executable 'all_benchmarks3'",
+ "cargo": {
+ "args": [
+ "build",
+ "--bin=all_benchmarks3",
+ "--package=rapier-benchmarks-3d"
+ ],
+ "filter": {
+ "name": "all_benchmarks3",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ },
+ {
+ "type": "lldb",
+ "request": "launch",
+ "name": "Debug unit tests in executable 'all_benchmarks3'",
+ "cargo": {
+ "args": [
+ "test",
+ "--no-run",
+ "--bin=all_benchmarks3",
+ "--package=rapier-benchmarks-3d"
+ ],
+ "filter": {
+ "name": "all_benchmarks3",
+ "kind": "bin"
+ }
+ },
+ "args": [],
+ "cwd": "${workspaceFolder}"
+ }
+ ]
+} \ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..0bc892b
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,103 @@
+{
+ // See https://go.microsoft.com/fwlink/?LinkId=733558
+ // for the documentation about the tasks.json format
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "run 3d (no-simd - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples3",
+ "--release",
+ "--features",
+ "other-backends",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "run 3d (simd - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples3",
+ "--release",
+ "--features",
+ "simd-stable,other-backends",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "run 3d (simd - parallel - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples3",
+ "--release",
+ "--features",
+ "simd-stable,other-backends,parallel",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "run 2d (no-simd - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples2",
+ "--release",
+ "--features",
+ "other-backends",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "run 2d (simd - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples2",
+ "--release",
+ "--features",
+ "simd-stable,other-backends",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ },
+ {
+ "label": "run 2d (simd - parallel - release) ",
+ "type": "shell",
+ "command": "cargo",
+ "args": [
+ "run",
+ "--bin",
+ "all_examples2",
+ "--release",
+ "--features",
+ "simd-stable,other-backends,parallel",
+ "--",
+ "--pause"
+ ],
+ "group": "build"
+ }
+ ]
+} \ No newline at end of file
diff --git a/Cargo.toml b/Cargo.toml
index 1bd8c67..543850e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[workspace]
-members = [ "crates/rapier2d", "crates/rapier2d-f64", "crates/rapier_testbed2d", "examples2d", "benchmarks2d",
- "crates/rapier3d", "crates/rapier3d-f64", "crates/rapier_testbed3d", "examples3d", "benchmarks3d" ]
+members = [ "crates/rapier2d", "crates/rapier2d-f64", "crates/rapier_testbed2d", "crates/rapier_testbed2d-f64", "examples2d", "benchmarks2d",
+ "crates/rapier3d", "crates/rapier3d-f64", "crates/rapier_testbed3d", "crates/rapier_testbed3d-f64", "examples3d", "examples3d-f64", "benchmarks3d" ]
resolver = "2"
[patch.crates-io]
diff --git a/examples3d/media/models/camel_decimated.obj b/assets/3d/camel_decimated.obj
index f63ad44..f63ad44 100644
--- a/examples3d/media/models/camel_decimated.obj
+++ b/assets/3d/camel_decimated.obj
diff --git a/examples3d/media/models/chair.obj b/assets/3d/chair.obj
index 675a9d2..675a9d2 100644
--- a/examples3d/media/models/chair.obj
+++ b/assets/3d/chair.obj
diff --git a/examples3d/media/models/cup_decimated.obj b/assets/3d/cup_decimated.obj
index 00f8ea7..00f8ea7 100644
--- a/examples3d/media/models/cup_decimated.obj
+++ b/assets/3d/cup_decimated.obj
diff --git a/examples3d/media/models/dilo_decimated.obj b/assets/3d/dilo_decimated.obj
index 7c25381..7c25381 100644
--- a/examples3d/media/models/dilo_decimated.obj
+++ b/assets/3d/dilo_decimated.obj
diff --git a/examples3d/media/models/feline_decimated.obj b/assets/3d/feline_decimated.obj
index 7eebc23..7eebc23 100644
--- a/examples3d/media/models/feline_decimated.obj
+++ b/assets/3d/feline_decimated.obj
diff --git a/examples3d/media/models/genus3_decimated.obj b/assets/3d/genus3_decimated.obj
index 553b7aa..553b7aa 100644
--- a/examples3d/media/models/genus3_decimated.obj
+++ b/assets/3d/genus3_decimated.obj
diff --git a/examples3d/media/models/hand2_decimated.obj b/assets/3d/hand2_decimated.obj
index 073a488..073a488 100644
--- a/examples3d/media/models/hand2_decimated.obj
+++ b/assets/3d/hand2_decimated.obj
diff --git a/examples3d/media/models/hand_decimated.obj b/assets/3d/hand_decimated.obj
index 50dbeaf..50dbeaf 100644
--- a/examples3d/media/models/hand_decimated.obj
+++ b/assets/3d/hand_decimated.obj
diff --git a/examples3d/media/models/hornbug.obj b/assets/3d/hornbug.obj
index f7efae8..f7efae8 100644
--- a/examples3d/media/models/hornbug.obj
+++ b/assets/3d/hornbug.obj
diff --git a/examples3d/media/models/octopus_decimated.obj b/assets/3d/octopus_decimated.obj
index 437bd64..437bd64 100644
--- a/examples3d/media/models/octopus_decimated.obj
+++ b/assets/3d/octopus_decimated.obj
diff --git a/examples3d/media/models/rabbit_decimated.obj b/assets/3d/rabbit_decimated.obj
index 5150223..5150223 100644
--- a/examples3d/media/models/rabbit_decimated.obj
+++ b/assets/3d/rabbit_decimated.obj
diff --git a/examples3d/media/models/rust_logo_simplified.obj b/assets/3d/rust_logo_simplified.obj
index 7745da3..7745da3 100644
--- a/examples3d/media/models/rust_logo_simplified.obj
+++ b/assets/3d/rust_logo_simplified.obj
diff --git a/examples3d/media/models/screwdriver_decimated.obj b/assets/3d/screwdriver_decimated.obj
index 91de304..91de304 100644
--- a/examples3d/media/models/screwdriver_decimated.obj
+++ b/assets/3d/screwdriver_decimated.obj
diff --git a/examples3d/media/models/table.obj b/assets/3d/table.obj
index 1e954c7..1e954c7 100644
--- a/examples3d/media/models/table.obj
+++ b/assets/3d/table.obj
diff --git a/examples3d/media/models/tstTorusModel.obj b/assets/3d/tstTorusModel.obj
index 5e70fa1..5e70fa1 100644
--- a/examples3d/media/models/tstTorusModel.obj
+++ b/assets/3d/tstTorusModel.obj
diff --git a/examples3d/media/models/tstTorusModel2.obj b/assets/3d/tstTorusModel2.obj
index 9942f14..9942f14 100644
--- a/examples3d/media/models/tstTorusModel2.obj
+++ b/assets/3d/tstTorusModel2.obj
diff --git a/examples3d/media/models/tstTorusModel3.obj b/assets/3d/tstTorusModel3.obj
index 6e956b2..6e956b2 100644
--- a/examples3d/media/models/tstTorusModel3.obj
+++ b/assets/3d/tstTorusModel3.obj
diff --git a/crates/rapier_testbed2d-f64/Cargo.toml b/crates/rapier_testbed2d-f64/Cargo.toml
new file mode 100644
index 0000000..cfa0f42
--- /dev/null
+++ b/crates/rapier_testbed2d-f64/Cargo.toml
@@ -0,0 +1,57 @@
+[package]
+name = "rapier_testbed2d-f64"
+version = "0.12.0-alpha.1"
+authors = [ "Sébastien Crozet <developer@crozet.re>" ]
+description = "Testbed for the Rapier 2-dimensional physics engine in Rust."
+homepage = "http://rapier.org"
+repository = "https://github.com/dimforge/rapier"
+categories = [ "science", "game-development", "mathematics", "simulation", "wasm"]
+keywords = [ "physics", "dynamics", "rigid", "real-time", "impulse_joints" ]
+license = "Apache-2.0"
+edition = "2021"
+
+[badges]
+maintenance = { status = "actively-developed" }
+
+[lib]
+name = "rapier_testbed2d"
+path = "../../src_testbed/lib.rs"
+required-features = [ "dim2" ]
+
+[features]
+default = [ "dim2" ]
+dim2 = [ ]
+parallel = [ "rapier/parallel", "num_cpus" ]
+other-backends = [ "wrapped2d" ]
+
+
+[dependencies]
+nalgebra = { version = "0.30", features = [ "rand" ] }
+rand = "0.8"
+rand_pcg = "0.3"
+instant = { version = "0.1", features = [ "web-sys", "now" ]}
+bitflags = "1"
+num_cpus = { version = "1", optional = true }
+wrapped2d = { version = "0.4", optional = true }
+crossbeam = "0.8"
+bincode = "1"
+Inflector = "0.11"
+md5 = "0.7"
+
+bevy_egui = "0.10"
+bevy_ecs = "0.6"
+
+# Dependencies for native only.
+[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
+bevy = {version = "0.6", default-features = false, features = ["bevy_winit", "render", "x11"]}
+
+# Dependencies for WASM only.
+[target.'cfg(target_arch = "wasm32")'.dependencies]
+bevy = {version = "0.6", default-features = false, features = ["bevy_winit", "render"]}
+#bevy_webgl2 = "0.5"
+
+[dependencies.rapier]
+package = "rapier2d-f64"
+path = "../rapier2d-f64"
+version = "0.12.0-alpha.1"
+features = [ "serde-serialize" ]
diff --git a/crates/rapier_testbed3d-f64/Cargo.toml b/crates/rapier_testbed3d-f64/Cargo.toml
new file mode 100644
index 0000000..dfd0fbd
--- /dev/null
+++ b/crates/rapier_testbed3d-f64/Cargo.toml
@@ -0,0 +1,55 @@
+[package]
+name = "rapier_testbed3d-f64"
+version = "0.12.0-alpha.1"
+authors = [ "Sébastien Crozet <developer@crozet.re>" ]
+description = "Testbed for the Rapier 3-dimensional physics engine in Rust."
+homepage = "http://rapier.org"
+repository = "https://github.com/dimforge/rapier"
+categories = [ "science", "game-development", "mathematics", "simulation", "wasm"]
+keywords = [ "physics", "dynamics", "rigid", "real-time", "impulse_joints" ]
+license = "Apache-2.0"
+edition = "2021"
+
+[badges]
+maintenance = { status = "actively-developed" }
+
+[lib]
+name = "rapier_testbed3d"
+path = "../../src_testbed/lib.rs"
+required-features = [ "dim3" ]
+
+[features]
+default = [ "dim3" ]
+dim3 = [ ]
+parallel = [ "rapier/parallel", "num_cpus" ]
+
+[dependencies]
+nalgebra = { version = "0.30", features = [ "rand" ] }
+rand = "0.8"
+rand_pcg = "0.3"
+instant = { version = "0.1", features = [ "web-sys", "now" ]}
+bitflags = "1"
+num_cpus = { version = "1", optional = true }
+crossbeam = "0.8"
+bincode = "1"
+md5 = "0.7"
+Inflector = "0.11"
+serde = { version = "1", features = [ "derive" ] }
+
+bevy_egui = "0.10"
+bevy_ecs = "0.6"
+
+# Dependencies for native only.
+[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
+bevy = {version = "0.6", default-features = false, features = ["bevy_winit", "render", "x11"]}
+
+# Dependencies for WASM only.