| [workspace] | |
| resolver = "2" | |
| members = [ | |
| "crates/synapse-core", | |
| "crates/synapse-sensor", | |
| "crates/synapse-web", | |
| ] | |
| [workspace.package] | |
| version = "0.1.0" | |
| edition = "2021" | |
| license = "AGPL-3.0-or-later" | |
| repository = "http://git.houston.local/robbo/synapse-wasm" | |
| authors = ["Robert David Adams III <robbo@synapseagriculture.com>"] | |
| [workspace.dependencies] | |
| # Shared across crates — pin versions here, inherit in members | |
| minicbor = { version = "0.25", features = ["alloc", "derive"] } # CBOR serialization (tiny, no-std compatible) | |
| heapless = "0.8" # Fixed-size collections for no-std (MCU-safe) | |
| # These only apply to std-capable targets (gateway, host, browser) | |
| # MCU crate uses no_std and doesn't pull these in | |
| [workspace.metadata.unused] | |
| # Placeholder — workspace.dependencies above are what matters | |
| [profile.release] | |
| # Aggressive optimization for WASM binary size | |
| opt-level = "z" # Optimize for size over speed | |
| lto = true # Link-time optimization across crate boundaries | |
| codegen-units = 1 # Single codegen unit = better optimization, slower compile | |
| panic = "abort" # No unwinding = smaller binary (critical for MCU) | |
| strip = true # Strip debug symbols from release builds | |