[package]
name = "edgefirst-schemas"
description = "Message schemas for EdgeFirst Perception - ROS2 Common Interfaces, Foxglove, and custom types"
authors = ["Au-Zone Technologies <support@au-zone.com>"]
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
version = "1.5.2"
homepage = "https://doc.edgefirst.ai"
repository = "https://github.com/EdgeFirstAI/schemas"
documentation = "https://docs.rs/edgefirst-schemas/"
keywords = ["ros2", "perception", "schemas", "edge-ai", "zenoh"]
categories = ["encoding", "data-structures"]

[lib]
crate-type = ["lib", "staticlib", "cdylib"]

[dependencies]
serde = "1.0.228"
serde_derive = "1.0.228"
cdr = "0.2.4"
errno = "0.3"
libc = "0.2.180"

[dev-dependencies]
criterion = { version = "0.8.1", features = ["html_reports"] }
mcap = "0.24"
memmap2 = "0.9"
rand = "0.9.2"
zstd = "0.13"

[[bench]]
name = "serialization"
harness = false

[build-dependencies]
cbindgen = "0.29.2"

# Release profile: optimized, stripped, no debug info
[profile.release]
opt-level = 3
lto = true
strip = true
debug = false

# Profiling profile: release build with debug symbols for benchmarking
[profile.profiling]
inherits = "release"
strip = false
debug = true
