[package] name = "hexlab" authors = ["Kristofers Solo "] version = "0.6.1" edition = "2021" description = "A hexagonal maze generation and manipulation library" repository = "https://github.com/kristoferssolo/hexlab" documentation = "https://docs.rs/hexlab" homepage = "https://github.com/kristoferssolo/hexlab" license = "MIT OR Apache-2.0" keywords = ["maze", "hex", "hexagons", "generation", "game"] categories = [ "algorithms", "game-development", "mathematics", "data-structures", ] exclude = ["/.github", "/.gitignore", "/tests", "*.png", "*.md"] readme = "README.md" [dependencies] hexx = { version = "0.19" } rand = "0.8" serde = { version = "1.0", features = ["derive"], optional = true } thiserror = "2.0" bevy = { version = "0.15", optional = true } bevy_utils = { version = "0.15", optional = true } glam = { version = "0.29", optional = true } pathfinding = { version = "4.13", optional = true } [dependencies.bevy_reflect] version = "0.15" optional = true default-features = false features = ["glam"] [dev-dependencies] claims = "0.8" rstest = "0.24" [features] default = [] serde = ["dep:serde", "hexx/serde"] bevy = ["dep:bevy", "bevy_reflect"] bevy_reflect = [ "dep:bevy_reflect", "dep:bevy_utils", "hexx/bevy_reflect", "dep:glam", ] pathfinding = ["dep:pathfinding"] full = ["serde", "bevy", "pathfinding"] [profile.dev] opt-level = 1 # Better compile times with some optimization [profile.release] opt-level = 3 lto = "thin" strip = true # Smaller binary size panic = "abort" # Smaller binary size [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [profile.dev.package."*"] opt-level = 3 # Override some settings for native builds. [profile.release-native] # Default to release profile values. inherits = "release" # Optimize with performance in mind. opt-level = 3 # Keep debug information in the binary. strip = "none" [lints.clippy] pedantic = "warn" nursery = "warn" unwrap_used = "warn" expect_used = "warn" [package.metadata.nextest] slow-timeout = { period = "120s", terminate-after = 3 }