1 unstable release
new 0.1.0 | Mar 8, 2025 |
---|
#572 in GUI
3MB
4.5K
SLoC
noise_gui
A graphical user interface for Noise-rs.
[!TIP]
noise_gui
runs on Linux/Mac/Windows desktops and the web!
Features:
- Support for all Noise-rs
NoiseFn
implementations - Allow zoom/pan on preview images
- Allow saving the graph project to a file[^1]
- Allow noise function export[^1]
- Automatic
NoiseFn
cached values - Subroutine blocks, comment blocks, node descriptors, etc.
- WASM support using Trunk
[^1]: Available on desktop only
[!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
Dependencies
~10–50MB
~815K SLoC