Quick start
Use the umbrella crate for score semantics, I/O, and layout. Add acorde-render-svg directly when rendering SVG.
[dependencies]
acorde = "1.2.3"
acorde-render-svg = "1.2.3"ACORDE · RUST AND WASM
Acorde is a platform-neutral Rust and WebAssembly library for serializable scores, undoable edits, bounded notation I/O, logical layout, deterministic SVG, playback-event projection, and analysis.
Use the umbrella crate for score semantics, I/O, and layout. Add acorde-render-svg directly when rendering SVG.
[dependencies]
acorde = "1.2.3"
acorde-render-svg = "1.2.3"Commands are validated and recorded by the ScoreEngine; hosts keep ownership of UI and files.
use acorde_core::{Command, ScoreEngine, SetTempoCmd};
let mut engine = ScoreEngine::new();
engine.apply(Command::SetTempo(SetTempoCmd { bpm: 120 }))?;
engine.undo()?;acorde-core owns score semantics and validation; acorde-io handles notation formats; acorde-layout provides pixel-free logical geometry; acorde-render-svg makes deterministic SVG; acorde-wasm exposes JavaScript bindings.
Read the repository for full APIs, examples, and versioned release notes.