Skip to content

An egui-based graphical user interface for the noise crate

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

attackgoat/noise_gui

Repository files navigation

noise_gui

GitHub crates.io docs.rs GitHub Pages MIT Apache


A graphical user interface for Noise-rs.

Tip

noise_gui runs on Linux/Mac/Windows desktops and the web!

Demo

Features:

  • Support for all Noise-rs NoiseFn implementations
  • Allow zoom/pan on preview images
  • Allow saving the graph project to a file1
  • Allow noise function export1
  • Automatic NoiseFn cached values
  • Subroutine blocks, comment blocks, node descriptors, etc.
  • WASM support using Trunk

Warning

noise_gui is currently in the proof-of-concept phase and may contain bugs and missing features.

Development Dependencies

Ubuntu 22.04:

sudo apt install libgtk-3-dev

Browser:

rustup target add wasm32-unknown-unknown
cargo install trunk

How To Run Locally

Desktop:

cargo run

Browser:

trunk serve --open

Noise Function Export

Completed noise graphs may be exported (right-click on any node). The output file is .ron format and may be deserialized for use in your programs.

Once deserialized into an Expr instance you may replace any decimal or integer values using their name and the Expr::set_f64 and Expr::set_u32 functions. Note that node names do not have to be unique and that all nodes sharing the provided name will be updated. The Expr::noise function may be used to retrieve a Noise-rs NoiseFn implementation.

See the example for more details:

cargo run --example read_file

Footnotes

  1. Available on desktop only 2

About

An egui-based graphical user interface for the noise crate

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published