Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grunnt/falling-rust
A falling-sand toy written using Rust, Bevy and egui.
https://github.com/grunnt/falling-rust
bevy egui rust rust-lang
Last synced: 2 months ago
JSON representation
A falling-sand toy written using Rust, Bevy and egui.
- Host: GitHub
- URL: https://github.com/grunnt/falling-rust
- Owner: grunnt
- License: mit
- Created: 2021-09-18T19:38:09.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T07:36:45.000Z (2 months ago)
- Last Synced: 2024-10-31T08:26:19.840Z (2 months ago)
- Topics: bevy, egui, rust, rust-lang
- Language: Rust
- Homepage:
- Size: 714 KB
- Stars: 25
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Falling Rust
A falling-sand toy written using Rust, Bevy and egui.
## How to run
A release version for Windows is available at [GitHub releases](https://github.com/grunnt/falling-rust/releases).
## How to run from the code
You will need to have [Rust](https://www.rust-lang.org) installed to compile this.
The simulation is quite CPU intensive, so you may want to run this in release mode:
```
cargo run --release
```## How to build for the web
Falling-rust can be built as a WASM binary as well, which allows it to be run inside a webpage.
You will need to have the `wasm32-unknown-unknown` target installed. This is easily done using rustup:
```
rustup target add wasm32-unknown-unknown
```Then falling-rust needs to be compiled for wasm, using the profile that optimizes for binary size:
```
cargo build --profile web --target wasm32-unknown-unknown
```And finally you can generate bindings for javascript (and an index.html page) using `wasm-bindgen`:
```
wasm-bindgen --out-dir ./wasm --target web ./target/wasm32-unknown-unknown/web/falling-rust.wasm
```