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.

See noise_expr

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 --package noise_expr

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

Packages

No packages published