# 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"
name = "autd3-emulator"
version = "35.0.1"
authors = ["shun suzuki <suzuki@hapis.k.u-tokyo.ac.jp>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "autd3 emulator for calculating sound field, emulation of firmware, etc"
readme = "README.md"
keywords = ["autd"]
license = "MIT"
repository = "https://github.com/shinolab/autd3-emulator"

[package.metadata.docs.rs]
features = ["gpu"]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
default = ["polars"]
gpu = [
    "wgpu",
    "bytemuck",
    "flume",
    "pollster",
]
inplace = []
polars = ["dep:polars"]

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

[[example]]
name = "custom_device"
path = "examples/custom_device.rs"

[[example]]
name = "modulation"
path = "examples/modulation.rs"

[[example]]
name = "output_ultrasound"
path = "examples/output_ultrasound.rs"

[[example]]
name = "rms"
path = "examples/rms.rs"

[[example]]
name = "sound_field"
path = "examples/sound_field.rs"

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

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

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

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

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

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

[dependencies.autd3]
version = "35.0.1"
default-features = false

[dependencies.autd3-core]
version = "35.0.1"
features = [
    "link",
    "sampling_config",
]
default-features = false

[dependencies.autd3-firmware-emulator]
version = "35.0.1"
default-features = false

[dependencies.bvh]
version = "0.11.0"
default-features = false

[dependencies.bytemuck]
version = "1.23.0"
optional = true
default-features = false

[dependencies.derive_more]
version = "2.0.1"
default-features = false

[dependencies.flume]
version = "0.11.1"
optional = true
default-features = false

[dependencies.getset]
version = "0.1.5"
default-features = false

[dependencies.indicatif]
version = "0.17.11"
default-features = false

[dependencies.itertools]
version = "0.14.0"
default-features = false

[dependencies.paste]
version = "1.0.15"
default-features = false

[dependencies.polars]
version = "0.49.1"
features = [
    "dtype-u16",
    "dtype-u8",
]
optional = true
default-features = false

[dependencies.pollster]
version = "0.4.0"
optional = true
default-features = false

[dependencies.rayon]
version = "1.10.0"
default-features = false

[dependencies.thiserror]
version = "2.0.12"
default-features = false

[dependencies.visibility]
version = "0.1.1"
default-features = false

[dependencies.wgpu]
version = "25.0.2"
features = [
    "dx12",
    "metal",
    "wgsl",
]
optional = true
default-features = false

[dev-dependencies.anyhow]
version = "1.0.98"
default-features = false

[dev-dependencies.approx]
version = "0.5.1"
default-features = false

[dev-dependencies.autd3]
version = "35.0.1"
features = [
    "gain",
    "modulation",
]
default-features = false

[dev-dependencies.polars]
version = "0.49.1"
features = ["csv"]
default-features = false

[dev-dependencies.rand]
version = "0.9.1"
features = ["thread_rng"]
default-features = false

[dev-dependencies.rstest]
version = "0.25.0"
default-features = false

[dev-dependencies.textplots]
version = "0.8.7"
default-features = false
