Expand description
§O₂
o2 is a Rust port of the ORCΛ
esoteric programming language and terminal livecoding environment.
This library exposes the core engine of o2, allowing other developers to:
- Run the grid simulation (
core::app,core::vm). - Send MIDI, OSC, and UDP output (
core::io). - Map glyphs to MIDI note IDs (
core::transpose). - Control tempo programmatically (
editor::clock). - Issue commander text commands (
editor::commander).
§Architecture
The pipeline flows as follows:
Grid cells (Vec<char>)
→ core::vm::run() per operator per frame
→ core::app::EditorState::operate() full-frame tick
→ core::io::MidiState::run() flush MIDI / OSC / UDP
→ ui::render::draw() render to terminal