[][src]Crate minutiae

Minutiae Simulation Engine

Modules

action

Represents an entity's attempt to mutate the state of itself, another entity, or a cell. These are returned as the result of an entity's transformation function and are run through the universe's simulation engine and applied according to the rules set up there.

cell

Declares a single cell of the universe. Each cell has a coordinate that is made up of two unsigned integers and represents its offset from the top left of the universe. All cells are one variant of a single Enum that represents all possible variants and states that a cell can take on.

container

Declares container types that are used to provide abstracted access to data strucures within a universe.

driver

Executes the simulation, driving progress forward by repeatedly calling the engine's step() function. Allows for things like rendering, using external data, etc. to be implemented between steps.

emscripten
engine

This is the core of the simulation. It manages the various aspects of keeping track of the universe's state and the state of all its cells and entities. It drives the simulation forward by applying transformations of the cells and processing actions of the entities sequentially.

entity

These units reside in the a grid separate from the main universe but have the power to directly interact both with it and with other entities. They are the smallest units of discrete control in the simulation and are the only things that are capable of mutating any aspect of the world outside of the simulation engine itself.

generator

Populates the world with an initial collection of cells and entities

prelude

Utility module for re-exporting some commonly used traits

universe

Declares the universe in which all parts of the system reside. ItThe universe is represented by a square two-dimensional array of cells. The universe has a set view distance which determines what range cells and entities have information about their neighbors; a view distance of 0 means they only have knowledge of their own state, a view distance of 1 means that they have knowledge of all neighbors touching them (including diagonals), etc.

util

General-purpose utility functions