[package]
name = "metacrate-grid-agent"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "Bounded pure-Rust OpenSim grid-agent service foundation"
publish = false

[dependencies]
async-trait = "0.1.89"
base64 = "0.22"
crossterm = "0.29"
directories = { version = "6.0.0", optional = true }
libremetaverse = { version = "0.0.1", path = "../libremetaverse", default-features = false, optional = true }
libremetaverse-imaging = { version = "0.0.1", path = "../libremetaverse-imaging", default-features = false, features = ["rust-j2k"], optional = true }
libremetaverse-rendering-simple = { version = "0.0.1", path = "../libremetaverse-rendering-simple", optional = true }
libremetaverse-types = { version = "0.0.1", path = "../libremetaverse-types" }
metacrate-lsl-tools = { version = "0.0.1", path = "../metacrate-lsl-tools" }
metacrate-game-loop = { version = "0.0.1", path = "../metacrate-game-loop" }
metacrate-rendering-wgpu = { version = "0.0.1", path = "../metacrate-rendering-wgpu" }
mentra = { version = "0.18.3", default-features = false }
jpeg-encoder = "0.6.1"
rustls = { version = "0.23.43", default-features = false, features = ["aws_lc_rs", "std", "tls12"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml_ng = "0.10.0"
sha2 = "0.11"
tokio = { version = "1.53.1", features = ["macros", "rt", "sync", "time"] }
tokio-rustls = { version = "0.26.4", default-features = false, features = ["aws_lc_rs", "tls12"] }
url = "2.5.8"
unicode-width = "0.2"

[dev-dependencies]
jpeg-decoder = { version = "0.3.2", default-features = false }
tokio = { version = "1.53.1", features = ["test-util"] }

[target.'cfg(any(unix, windows))'.dependencies]
tokio = { version = "1.53.1", features = ["io-util", "net", "rt-multi-thread", "signal"] }

[features]
default = []
live-grid = ["dep:directories", "dep:libremetaverse", "dep:libremetaverse-imaging", "dep:libremetaverse-rendering-simple", "metacrate-rendering-wgpu/wgpu"]

[lints]
workspace = true

[[bin]]
name = "metacrate-grid-agent"
path = "src/main.rs"
