Skip to content

Liam-Wirth/cellular-automata

Repository files navigation

Cellular Automata Engine of sorts

dependency status Build Status

Built using Emilk's eframe, template repo. Eframe is a framework for writing apps using egui.

Check it out Here!

https://cellular-automata.wirthless.dev

Todo:

Make sure to update the build actions eventually to re-include -D warnings

possibly cut back on CI/CD by trimming out alot of the excess deployment stuff? I dunno hopefully works?

Credits/Thanks:

Huge shoutout and thanks to Todd Smith In my research on trying to learn how to do all this, I stumbled across articles that he was also writing articles on simulating Elementary CAS, First one Here what was so interesting to me was the fact that he was also using Rust, and had yet to write the Third article in the mini-series, meaning he was actively writing them as I was working on the project. On a whim I reached out to him on linkedin, and he was kind enough to take time out of his day to look at my crappy rust code, and provide advice! I couldn't thank the man enough for doing that, as it meant alot to me to be able to have someone look at my code. If you have the time please make sure to check out his articles that I linked above and give em a read!

References and Sources Used:

Rest in peace John Walker his project "CellLab" has proved immensely helpful in my research, He passed on February 2, 2024. Less than a week before I started working on this project

Wikipedia:

Research Papers and Books

(note, I may or may not have read these papers, but am including all of the ones I found interesting, or ones that seemed like they could be helpful to look at later here)

Other Open source projects

Rules to look into (for me)

Misc stuff to check out

Related Videos I Watched

Instructions from the original E-Frame Template

Running localy

Make sure you are using the latest version of stable rust by running rustup update.

cargo run --release

Web Locally

You can compile your app to WASM and publish it as a web page.

We use Trunk to build for web target.

  1. Install the required target with rustup target add wasm32-unknown-unknown.
  2. Install Trunk with cargo install --locked trunk.
  3. Run trunk serve to build and serve on http://127.0.0.1:8080. Trunk will rebuild automatically if you edit the project.
  4. Open http://127.0.0.1:8080/index.html#dev in a browser. See the warning below.

assets/sw.js script will try to cache our app, and loads the cached version when it cannot connect to server allowing your app to work offline (like PWA). appending #dev to index.html will skip this caching, allowing us to load the latest builds during development.

Web Deploy

  1. Just run trunk build --release.
  2. It will generate a dist directory as a "static html" website

About

making this to continue to mess around with wasm, rust, eframe, and egui

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published