[workspace] resolver = "2" members = [ "crates/synth-core", "crates/synth-visualiser", "crates/synth-embedded", ] [profile.release] opt-level = 3 lto = "thin" codegen-units = 1 strip = "symbols" [profile.release-wasm] inherits = "release" opt-level = "z" lto = "fat" panic = "abort" [workspace.dependencies] # no_std-compatible math libm = { version = "0.2", default-features = false } num-traits = { version = "0.2", default-features = false } micromath = { version = "2.1", default-features = false } # Stack-allocated collections heapless = { version = "0.8", default-features = false } # MIDI midi-types = { version = "0.1", default-features = false } # WASM / browser wasm-bindgen = { version = "0.2" } js-sys = { version = "0.3" } wasm-bindgen-futures = { version = "0.4" } console_error_panic_hook = { version = "0.1" } # Serialisation serde = { version = "1", default-features = false, features = ["derive"] } # Embassy — RP2350 support is only in the git repo, not crates.io. # Cargo pins the resolved commit into Cargo.lock on first build. # Pin a specific `rev = "..."` for reproducible builds. embassy-executor = { git = "https://github.com/embassy-rs/embassy", default-features = false } embassy-rp = { git = "https://github.com/embassy-rs/embassy", default-features = false } embassy-sync = { git = "https://github.com/embassy-rs/embassy", default-features = false } embassy-time = { git = "https://github.com/embassy-rs/embassy", default-features = false } embassy-futures = { git = "https://github.com/embassy-rs/embassy", default-features = false } # Embedded ecosystem (crates.io — stable) cortex-m = { version = "0.7", default-features = false } cortex-m-rt = { version = "0.7", default-features = false } defmt = { version = "1.0.1", default-features = false } defmt-rtt = { version = "1.1.0", default-features = false } panic-probe = { version = "1.0.0", default-features = false } fixed = { version = "1.23", default-features = false } static-cell = { version = "2", default-features = false } pio = { version = "0.3", default-features = false } # pio-proc = { version = "0.3" }