Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.69 KB

File metadata and controls

43 lines (30 loc) · 1.69 KB

Patchwork [Work In Progress]

A node-based visual programming environment built with Rust and egui. The project started as a routing/mapping software to interface between custom hardware nodes and other creative technology environments.

Connect nodes to build data pipelines route signals and numbers through math, load files, edit text, WGSL shaders, MIDI, OSC, Serial, custom scripts, audio synth and player and a lot more being added.

Aiming to have usable and functional nodes. More coming soooon!!!

Patchwork Screenshot Patchwork Screenshot

Quick start

cargo run

Build distributable (macOS)

cargo install cargo-packager
cargo packager --release 

Haven't yet tested on Windows - Reach out if anyone is interested!!

How to Use?

Double-click the canvas to add nodes. Drag from output ports to input ports to connect them.

Tech

  • eframe / egui / egui_wgpu - immediate-mode GUI with GPU rendering
  • wgpu / naga - GPU shader compilation and real-time rendering
  • midir - cross-platform MIDI I/O
  • serialport - serial communication
  • rosc - OSC protocol
  • rhai - embedded scripting(RHAI)
  • reqwest - HTTP client
  • serde / serde_json - serialization and JSON parsing
  • rfd - native file workflows
  • cargo-packager - .app / .dmg bundling for macOS