Cellumina

Docs Status license Crates.io Crates.io

A library to easily crate and run Cellular Automata.

Basic features

Cellumina provides an Automaton struct that represents a 2-dimensional grid of characters. This grid can be initialized from a vector, a file or an image. Additionally, the user can configure the Rule the automaton uses to transform itself into the next step. The transformation to the next state can be initiated manually or on a fixed time step, for example when using Cellumina as part of a larger graphical application.

Rules

Live View

Cellumina can be run in 'Live View' mode. It will then take ownership of a configured automaton, run it by itself and display the cell state in a separate window. This is useful when just playing around with cellular automata.

Performance

Since pattern replacement can be a rather costly operation, cellumina runs these in parallel using the rayon crate.

Planned Features