cellular_automata 1.0.2
cellular_automata: ^1.0.2 copied to clipboard
A library and platform for playing and experimenting with cellular automata.
Changelog #
1.0 #
- Web renderers have been moved into a new package:
cellular_automata_web. This core package can now be loaded into none web enviroments such as flutter etc. example/folder now contains numerous ascii based examples that can be run from command-linePlayerrenamedSceneSimulatorrenamedAutomatononRenderrenamedonPaintSimulationCompleteReasonrenamedSceneCompleteReasononPaintFullnow available which will paint a full scene every generation. Note: This is a not as performant asonPaintwhich will only paints the changes in a sceneAsciiRendereradded. This is a very simple text based renderer, used in the examples.onPreparefired before scene starts running. This is when a generator could be used to seed the automaton.- Now supports multiple automata running in a single scene. used
addAutomaton()to add automata. - Recased all enums to camel case.
0.9 #
- Dart 2.0. Tested and all works correctly.
- Enabled Travis CI: https://travis-ci.org/jimmyff/cellular_automata/
0.8 #
MCellGenerationsrule parser added. This can parse all MCell Generations configs.- Credits
onStablerenamedonComplete, now passesSimulatorCompleteReasonenum value. Current states are:durationandstable- Demos updated to include MCell
- Credits file created to credit those that wrote/discovered the rules
- Decent Refactor, reorganised stuff!
SimulatorrenamedPlayerArray2Dreplaced withCellGridwhich combines Array2D with CA specific functionality which simplifiesCellWorld.CARulesinterface updatedCellWorldrenamedSimulator
0.7 #
- Optimised
MajorityVoteRules, utilises edge detection to determine activity - Added
paintFullSizeoption toCanvasRenderer: This allows the scene to be painted at actual size rather than small and then resized via CSS. - Added
maxAgeas aSimulatorconstructor parameter, if this is set thenonStableis called when the generation count surpassesmaxAge - Added
package:loggingso debug information can be enabled / disabled - Updated demos
0.6 #
- Stable simulation detection. This broadcast to the
onStablestream after detecting repeating identical generations or repeating generationactiveCellCountpatterns spanning up to 8 generations. - Demos updated to auto reset on stable scene (excluding rendering examples)
0.5 #
- Added new default renderer for web:
CanvasRenderer. This is a simple native Canvas renderer. This has been added asStageXLRendererhas performance issues with large scenes. - Added demos for both
StageXLRendererandCanvasRenderer - Demos moved over to use
CanvasRenderer
0.4 #
- Added
MajorityVoteRules - Optimised
BriansBrainprocessing - Updated demos
0.3 #
- Added
GameOfLifeSimpleRules. This simulation is a simpler version ofGameOfLife, it only has binary states and implemented with minimal code - Added
BriansBrainRules - Updated demos
0.2 #
- Optimised cell processing, now only processes cells that neighbor active states
- Added tests (more to add)
- Improved StageXL bitmap colours crispness by adding frame margin
0.1 #
- Refactored so Rule's cell-states are now passed as generic types in to the Cell World for better analyzer & tooling support
- Added a
CAGeneratorsfor generating/seeding worlds - Renderers are now further decoupled from the Simulation. They now just require an CellGrid containing states expressed in a palette.
- Added a very simple demo (simple_example.dart) to show minimum setup code
CellWorldnow stores full cell-states and Rules also deal with full cell-states which makes code more readable- Fixed mathematical generators
0.0 #
- Initial version, includes basic implementation of
GameOfLifewithStageXLRenderer - Hosted demos