[workspace]
members = []
resolver = "2"

[package]
name = "{{project_name}}"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"

[[bin]]
name = "{{project_name}}"
path = "src/main.rs"

[dependencies]
# Mecha10 framework (using local development paths via .cargo/config.toml)
mecha10-core = "0.1.1"

# Mecha10 nodes (all available nodes - resolved via .cargo/config.toml patches)
mecha10-nodes-behavior-executor = "0.1"
mecha10-nodes-diagnostics = "0.1"
mecha10-nodes-image-classifier = "0.1"
mecha10-nodes-imu = "0.1"
mecha10-nodes-listener = "0.1"
mecha10-nodes-llm-command = "0.1"
mecha10-nodes-motor = "0.1"
mecha10-nodes-object-detector = "0.1"
mecha10-nodes-simulation-bridge = "0.1"
mecha10-nodes-speaker = "0.1"
mecha10-nodes-teleop = "0.1"
mecha10-nodes-websocket-bridge = "0.1"

# Async runtime
tokio = { version = "1.36", features = ["full"] }

# Error handling
anyhow = "1.0"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Serialization (for mecha10.json parsing in build.rs)
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

[build-dependencies]
serde_json = "1.0"

[features]
default = ["target-dev"]
target-dev = []
target-robot = []
target-remote = []

[profile.dev]
opt-level = 0
debug = true
incremental = true

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
panic = "abort"
