[package]
name = "autd3-emulator"
description = "autd3 emulator for calculating sound field, emulation of firmware, etc"
readme = "README.md"
keywords = ["autd"]
version = "35.0.1"
authors = ["shun suzuki <suzuki@hapis.k.u-tokyo.ac.jp>"]
edition = "2024"
license = "MIT"
repository = "https://github.com/shinolab/autd3-emulator"

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

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

[dependencies]
autd3 = { version = "35.0.1", default-features = false }
autd3-core = { version = "35.0.1", default-features = false, features = ["link", "sampling_config"] }
autd3-firmware-emulator = { version = "35.0.1", default-features = false }
bvh = { version = "0.11.0", default-features = false }
bytemuck = { version = "1.23.0", optional = true, default-features = false }
derive_more = { version = "2.0.1", default-features = false }
flume = { version = "0.11.1", optional = true, default-features = false }
getset = { version = "0.1.5", default-features = false }
indicatif = { version = "0.17.11", default-features = false }
itertools = { version = "0.14.0", default-features = false }
paste = { version = "1.0.15", default-features = false }
polars = { version = "0.49.1", optional = true, features = ["dtype-u16", "dtype-u8"], default-features = false }
pollster = { version = "0.4.0", optional = true, default-features = false }
rayon = { version = "1.10.0", default-features = false }
thiserror = { version = "2.0.12", default-features = false }
visibility = { version = "0.1.1", default-features = false }
wgpu = { version = "25.0.2", optional = true, default-features = false, features = ["dx12", "metal", "wgsl"] }

[dev-dependencies]
autd3 = { version = "35.0.1", default-features = false, features = ["gain", "modulation"] }
anyhow = { version = "1.0.98", default-features = false }
approx = { version = "0.5.1", default-features = false }
polars = { version = "0.49.1", default-features = false, features = ["csv"] }
rand = { version = "0.9.1", default-features = false, features = ["thread_rng"] }
rstest = { version = "0.25.0", default-features = false }
textplots = { version = "0.8.7", default-features = false }
