-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
65 lines (59 loc) · 2.54 KB
/
Copy pathCargo.toml
File metadata and controls
65 lines (59 loc) · 2.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[package]
name = "avian_fdm"
version = "0.2.0"
edition = "2021"
description = "6-DoF Flight Dynamics Model for Bevy + Avian"
license = "LGPL-3.0-or-later"
authors = ["Víctor Cuadrado Juan <me@viccuad.me>"]
repository = "https://github.com/viccuad/avian_fdm"
homepage = "https://github.com/viccuad/avian_fdm"
documentation = "https://docs.rs/avian_fdm"
readme = "README.md"
keywords = ["bevy", "avian", "fdm", "flight", "simulation"]
categories = ["game-development", "simulation", "science"]
exclude = ["/.github/"]
[workspace]
members = [".", "avian_fdm_j3cub_jsbsim"]
[features]
default = ["f32", "debug-plugin"]
# Exactly one of `f32` or `f64` must be enabled. They select the avian3d physics
# backend and are mutually exclusive: enabling both is a compile error.
#
# `f32` — standard Bevy/avian3d precision. Sufficient for most flight simulators
# and required for integration with Bevy rendering (Transform, Gizmos, etc.).
#
# `f64` — double-precision backend. Use when simulation accuracy matters more than
# Bevy rendering integration, e.g. pure headless FDM or large-world sims.
f32 = ["avian3d/default-collider", "avian3d/f32", "avian3d/parry-f32"]
f64 = ["avian3d/default-collider", "avian3d/f64", "avian3d/parry-f64"]
debug-plugin = ["dep:bevy_color", "dep:bevy_gizmos"]
[dependencies]
# collider-from-mesh is excluded: avian_fdm uses only analytic shapes (boxes, spheres,
# capsules) for AeroZone colliders. Mesh-based colliders would require AssetPlugin +
# MeshPlugin in headless apps, and are never needed for a flight dynamics library.
avian3d = { version = "0.7", default-features = false, features = ["3d"] }
bevy_app = { version = "0.19", default-features = false }
bevy_ecs = { version = "0.19", default-features = false }
bevy_math = { version = "0.19", default-features = false }
bevy_transform = { version = "0.19", default-features = false }
bevy_reflect = { version = "0.19", default-features = false }
bevy_color = { version = "0.19", default-features = false, optional = true }
bevy_gizmos = { version = "0.19", default-features = false, optional = true }
bevy_log = { version = "0.19", default-features = false }
serde = { version = "1", features = ["derive"] }
thiserror = "2"
[dev-dependencies]
bevy = { version = "0.19", features = [
"bevy_winit",
"bevy_pbr",
"bevy_gizmos",
] }
[[test]]
name = "perf_limits"
required-features = ["f32"]
[package.metadata.docs.rs]
features = ["f32", "debug-plugin"] # same as [features]
rustdoc-args = [
"--cfg",
"docsrs",
] # activates any #[cfg_attr(docsrs, doc(cfg(...)))] annotations