[package] name = "bevy_math" version = "0.15.0" edition = "2021" description = "Provides math functionality for Bevy Engine" homepage = "https://bevyengine.org" repository = "https://github.com/bevyengine/bevy" license = "MIT OR Apache-2.0" keywords = ["bevy"] rust-version = "1.68.2" [dependencies] glam = { version = "0.29", features = ["bytemuck"] } derive_more = { version = "1", default-features = false, features = [ "error", "from", "display", "into", ] } itertools = "0.13.0" serde = { version = "1", features = ["derive"], optional = true } libm = { version = "0.2", optional = true } approx = { version = "0.5", optional = true } rand = { version = "0.8", features = [ "alloc", ], default-features = false, optional = true } rand_distr = { version = "0.4.3", optional = true } smallvec = { version = "1.11" } bevy_reflect = { path = "../bevy_reflect", version = "0.15.0", features = [ "glam", ], optional = true } [dev-dependencies] approx = "0.5" # Supply rngs for examples and tests rand = "0.8" rand_chacha = "0.3" # Enable the approx feature when testing. bevy_math = { path = ".", version = "0.15.0", features = ["approx"] } glam = { version = "0.29", features = ["approx"] } [features] default = ["rand", "bevy_reflect", "curve"] serialize = ["dep:serde", "glam/serde"] # Enable approx for glam types to approximate floating point equality comparisons and assertions approx = ["dep:approx", "glam/approx"] # Enable interoperation of glam types with mint-compatible libraries mint = ["glam/mint"] # Enable libm mathematical functions for glam types to ensure consistent outputs # across platforms at the cost of losing hardware-level optimization using intrinsics libm = ["dep:libm", "glam/libm"] # Enable assertions to check the validity of parameters passed to glam glam_assert = ["glam/glam-assert"] # Enable assertions in debug builds to check the validity of parameters passed to glam debug_glam_assert = ["glam/debug-glam-assert"] # Enable the rand dependency for shape_sampling rand = ["dep:rand", "dep:rand_distr", "glam/rand"] # Include code related to the Curve trait curve = [] [lints] workspace = true [package.metadata.docs.rs] rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"] all-features = true