[workspace]
members = [
  "ndarray-image",
  "ndarray-resize",
  ".",
  "bounding-box",
  "ndarray-safetensors",
  "sqlite3-safetensor-cosine",
  "ndcv-bridge",
  "bbox",
]

[workspace.package]
version = "0.1.0"
edition = "2024"

[workspace.dependencies]
bbox = { path = "bbox" }
divan = { version = "0.1.21" }
ndarray-npy = "0.9.1"
serde = { version = "1.0", features = ["derive"] }
ndarray-image = { path = "ndarray-image" }
ndarray-resize = { path = "ndarray-resize" }
mnn = { git = "https://github.com/uttarayan21/mnn-rs", version = "0.2.0", features = [
  # "metal",
  # "coreml",
  "tracing",
], branch = "restructure-tensor-type" }
mnn-bridge = { git = "https://github.com/uttarayan21/mnn-rs", version = "0.1.0", features = [
  "ndarray",
], branch = "restructure-tensor-type" }
mnn-sync = { git = "https://github.com/uttarayan21/mnn-rs", version = "0.1.0", features = [
  "tracing",
], branch = "restructure-tensor-type" }
nalgebra = { version = "0.34.0", default-features = false, features = ["std"] }
opencv = { version = "0.95.1" }
bounding-box = { path = "bounding-box" }
ndarray-safetensors = { path = "ndarray-safetensors" }
wide = "0.7.33"
rayon = "1.11.0"
bytemuck = "1.23.2"
error-stack = "0.5.0"
thiserror = "2.0"
fast_image_resize = "5.2.0"
img-parts = "0.4.0"
ndarray = { version = "0.16.1", features = ["rayon"] }
num = "0.4"

[package]
name = "detector"
version = "0.1.0"
edition = "2024"
license = "MIT"

[dependencies]
clap = { version = "4.5", features = ["derive"] }
clap_complete = "4.5"
error-stack = "0.5"
fast_image_resize = "5.2.0"
image = "0.25.6"
nalgebra = { workspace = true }
ndarray = "0.16.1"
ndarray-image = { workspace = true }
ndarray-resize = { workspace = true }
rusqlite = { version = "0.37.0", features = ["functions", "modern-full"] }
tap = "1.0.1"
thiserror = "2.0"
tokio = "1.43.1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
mnn = { workspace = true }
mnn-bridge = { workspace = true }
mnn-sync = { workspace = true }
bounding-box = { version = "0.1.0", path = "bounding-box" }
color = "0.3.1"
itertools = "0.14.0"
ordered-float = "5.0.0"
ort = { version = "2.0.0-rc.10", default-features = false, features = [
  "std",
  "tracing",
  "ndarray",
] }
ndarray-math = { git = "https://git.darksailor.dev/servius/ndarray-math", version = "0.1.0" }
ndarray-safetensors = { version = "0.1.0", path = "ndarray-safetensors" }
sqlite3-safetensor-cosine = { version = "0.1.0", path = "sqlite3-safetensor-cosine" }

# GUI dependencies
iced = { version = "0.13", features = ["tokio", "image"] }
rfd = "0.15"
futures = "0.3"
imageproc = "0.25"

[profile.release]
debug = true

[features]
ort-cuda = ["ort/cuda"]
ort-coreml = ["ort/coreml"]
ort-tensorrt = ["ort/tensorrt"]
ort-tvm = ["ort/tvm"]
ort-openvino = ["ort/openvino"]
ort-directml = ["ort/directml"]
mnn-metal = ["mnn/metal"]
mnn-coreml = ["mnn/coreml"]

default = ["mnn-metal", "mnn-coreml"]

[[test]]
name = "test_bbox_replacement"
path = "test_bbox_replacement.rs"
