# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85.0"
name = "amaze"
version = "0.4.1"
authors = ["Markus Mayer <widemeadows@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A maze generator"
homepage = "https://github.com/sunsided/amaze-rs"
readme = "README.md"
keywords = [
    "maze",
    "maze-generator",
]
categories = [
    "game-development",
    "simulation",
]
license = "EUPL-1.2 OR MIT OR Apache-2.0"
repository = "https://github.com/sunsided/amaze-rs"
resolver = "2"

[features]
binary-format = []
default = [
    "renderers",
    "generators",
    "solvers",
    "representations",
]
dungeon-representations = ["representations"]
file-io = [
    "binary-format",
    "json-format",
]
generator-binary-tree = []
generator-eller = []
generator-growing-tree = []
generator-hex-aldous-broder = []
generator-hex-growing-tree = []
generator-hex-recursive-backtracker = []
generator-hunt-and-kill = []
generator-kruskal = []
generator-prim = []
generator-sidewinder = []
generator-wilson = []
generators = [
    "generator-growing-tree",
    "generator-kruskal",
    "generator-eller",
    "generator-wilson",
    "generator-hunt-and-kill",
    "generator-sidewinder",
    "generator-binary-tree",
    "generator-prim",
]
generators-hex = [
    "generator-hex-recursive-backtracker",
    "generator-hex-growing-tree",
    "generator-hex-aldous-broder",
]
hex-representations = ["representations"]
json-format = [
    "dep:serde_json",
    "dep:serde",
]
petgraph = [
    "dep:petgraph",
    "representations",
]
pgm-renderer = []
renderers = [
    "unicode-renderer",
    "pgm-renderer",
]
representations = []
serde = ["dep:serde"]
solver-astar = []
solver-bfs = []
solver-dead-end = []
solver-dfs = []
solvers = [
    "solver-bfs",
    "solver-dfs",
    "solver-astar",
    "solver-dead-end",
]
unicode-renderer = []

[lib]
name = "amaze"
path = "src/lib.rs"

[[test]]
name = "dungeon_tests"
path = "tests/dungeon_tests.rs"

[[test]]
name = "generator_regression_tests"
path = "tests/generator_regression_tests.rs"

[[test]]
name = "maze_generator_tests"
path = "tests/maze_generator_tests.rs"

[[test]]
name = "solver_suite_tests"
path = "tests/solver_suite_tests.rs"

[[bench]]
name = "generation"
path = "benches/generation.rs"
harness = false

[[bench]]
name = "solvers"
path = "benches/solvers.rs"
harness = false
required-features = ["solvers"]

[[bench]]
name = "stats"
path = "benches/stats.rs"
harness = false

[dependencies.petgraph]
version = "0.8"
optional = true

[dependencies.rand]
version = "^0.10.1"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
optional = true

[dev-dependencies.criterion]
version = "0.8"

[dev-dependencies.indoc]
version = "2.0.7"
