cellular_automata 0.4.0 cellular_automata: ^0.4.0 copied to clipboard
A cellular automata library & playground
Cellular Automata #
A cellular automata library / playground written in Dart. Happily accepting pull requests! ^_^
- Author: jimmyff
- Github: https://github.com/jimmyff/cellular_automata
- Dart Pub: https://pub.dartlang.org/packages/cellular_automata
- Demos: http://jimmyff.github.io/cellular_automata
Features #
- Generators to seed the simulation
- Current renderers:
- StageXL: WebGL, fullscreen support
Implemented rules/simulations #
- Conway's Game of Life [source]
- Conway's Game of Life Simple (binary states) [source]
- Brian's Brain [source]
- Majority Vote [source]
Demos #
See the demos/
folder for demos. You can try the hosted demos here.
Performance #
Dartium performance is significantly faster than compiled performance at the moment. Also there are some generator defects that are yet to be resolved. To try and increase use the trust-type-annotations
flag in your pubspec:
transformers:
- $dart2js:
checked: false
minify: true
commandLineOptions: ['--trust-type-annotations', '--trust-primitives']
Roadmap #
- Add multiple states to 'Majority Vote'
- Add a multiple states generator
- Add more tests
- Detect stale simulations for reset / next
- Playlist of simulations
- Transitions for switching between two simulations
- Multiple simulations/rule-sets running in a single scene
- Generated color palettes
- Simulation controls (pause, reset, speed etc)
- Interactive mode (edit mode)
- Analysis tools (histograms for state counts)
- Add an LED Matrix renderer for raspberry pi using GPIO pins
- Flutter renderer
- CLI renderer
- Infinite world size support
Licence #
Please see the cellular_automata license.