# semeion
A 2D environment simulator, that let's you define the behavior and the shape
of your entities, while taking care of dispatching events generation after
generation.
[](https://docs.rs/semeion)
[](https://crates.io/crates/semeion)
[](LICENSE)
## Overview
For an overview of what you can do, and how you can do it with this library, the
best way to start is to have a look at the many [examples](#examples) that come
with this project.
Each of these aims to show a subset of the features set of `semeion`, while
giving an example of how to make the best use of it.
## Examples
- [Langton's Ant](https://en.wikipedia.org/wiki/Langton%27s_ant)
```bash
cargo run --release --example langton
```
<img src="../assets/langton.gif" width="300" height="240">
- [Game of Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life)
```bash
cargo run --release --example life
```
<img src="../assets/life.gif" width="350" height="300">
- [Wireworld](https://en.wikipedia.org/wiki/Wireworld)
```bash
cargo run --release --example wireworld
```
<img src="../assets/wireworld.gif" width="300" height="300">
- [Mandelbrot](https://en.wikipedia.org/wiki/Mandelbrot_set)
```bash
cargo run --release --example mandelbrot
```
<img src="../assets/mandelbrot.gif" width="350" height="200">
- [Camera](https://en.wikipedia.org/wiki/Transformation_matrix)
```bash
cargo run --release --example camera
```
<img src="../assets/camera.gif" width="300" height="300">