- Rename/relocate project
- Add validation to all class members
- Add validation to configs
- Throw meaningful warnings
- Add enums where applicable
- Create scheme class
- Add custom metric function support
- Element wise neighbours / adjencency matrix
- Write states optionally to disk + config
- Implement state memory
- Create built-in conditions
- Memory/output config class
- State memory
- Utility memory
- Adjacency memory
- Add non-array support
- Multi process update functions per iteration
- Execute update every X iterations
- Multiple simulations
- Stop simulation after convergence of specific state
- Utility per edge
- Utility change
- NxN matrix
- Specific edges
- Optional utility initialization
- Threshold state conditions
- Threshold utility
- Threshold adjacency (amount of neighbors)
- Rework to edge values dictionary
- Implement node removal and adding
- Implement utility maximisation
- Implement cost function
- Node addition priority or only allow a node to be added by 1 other node during an iteration
- Remove nodes
- List format
- Edge changes
- Overwrite
- Add
- Remove
- Optional utility init
- New adjacency matrix
- New utility matrix for init
- Add nodes
- Optional state init
- Optional edges
- Optional utility init
- Optional utility callable initialization
- Add graphical UI for state / constant selection / distribution specification
- Add support for conditions
- Set all chained condition state indices
- Custom condition
- Add example runner
- Add example param specification
- Add sensitivity analysis runner
- Add SA metrics
- Means
- Variance
- Min / Max
- Network metrics
- Custom function
- Rework to take model refactoring into account
- Add parallel processing
- Add more layout and networkx layout support
- Deal with different dimensions when writing
- Reconfiguration visualization
- More consistent network update locations
- Visualize edges with 0 utility
- Visualize utility
- Read states from disk
- Add regular plots / trends
- Optimize animation if possible
- Support jupyter notebook
- Write more tests
- Implement ReadTheDocs
- Document code
- Add CI support
- Add code quality checking
- Add automatic coverage checking
- Create contribution and pull request templates
- Publish to PyPi
- Add license