https://github.com/mathieucaroff/cellexp
A cellular automaton (CA) explorer to understand and unveil properties of CA in 1D.
https://github.com/mathieucaroff/cellexp
cellular-automaton chaos chaos-theory complexity education evolution fractal html5-canvas pattern pattern-detection put-image-data rule110 simulation simulator turing-completeness unidimensional universe
Last synced: 2 months ago
JSON representation
A cellular automaton (CA) explorer to understand and unveil properties of CA in 1D.
- Host: GitHub
- URL: https://github.com/mathieucaroff/cellexp
- Owner: mathieucaroff
- License: isc
- Created: 2019-10-24T06:50:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-04-17T14:28:20.000Z (about 3 years ago)
- Last Synced: 2025-01-02T14:12:21.514Z (4 months ago)
- Topics: cellular-automaton, chaos, chaos-theory, complexity, education, evolution, fractal, html5-canvas, pattern, pattern-detection, put-image-data, rule110, simulation, simulator, turing-completeness, unidimensional, universe
- Language: TypeScript
- Homepage: https://cellexp.vercel.app/
- Size: 998 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Cellexp - Cellular Automaton Explorer 1d
A cellular automaton (CA) explorer to understand and unveil properties of CAs in 1D.
[](https://mathieucaroff.com/cellexp)
## [Try it out](https://mathieucaroff.com/cellexp)
## Alternatives
- [ECAX](https://www.xanxys.net/ecax/) - Zoom, Navigation, Compute-on-demand
- [ECA Canvas](http://www.cs.swan.ac.uk/~csandy/research/play/ca/) - Size, Border, Random
- [ECA EmergentMind](http://www.emergentmind.com/elementary-cellular-automata) - Zoom, Board of 256 rules
- [Celldemo](http://devinacker.github.io/celldemo/) - Autoscrolling, Impuse, Random proportion,
- [WolframAlpha](https://www.wolframalpha.com/input/?i=rule+110) - Description (symetries, properties, classes), Differential propagation examples## Documentation
The following ressources are available to learn about Cellexp:
- [Cellexp's user documentation](doc/user-documentation.md) presents in details all features, simple and complexe
- [Cellexp's internal documentation](src/README.md) presents the structure of the project, the responsibility of each module, the interfaces and the event model.## Study and roadmap
Find the french presentation of the projet in [doc-projet-fr](./doc-project-fr/).
### Feature list
#### Planned features
(including some optional features)
The number preceding the feature name is the number of the release it's expected
to be shipped in. A feature when it has been shipped in a release.- [x] (1) **Fca-compute**
- [x] (1) **Fca-show**
- [x] (1) **Fca-size**
- [x] (1) **Fca-theme**
- [x] (1) **Fconfig-hot**
- [x] (1) **Fconfig-size**
- [x] (1) **Fconfig-speed**
- [x] (1) **Fconfig-theme**
- [x] (1) **Fedit-bases**
- [x] (1) **Fnav-speed**
- [x] (2) **Fconfig-pause**
- [x] (2) **Fconfig-pos-t**
- [x] (2) **Fconfig-pos-x**
- [x] (2) **Fconfig-step-by-step**
- [x] (2) **Fconfig-zoom**
- [x] (2) **Fnav-custom-resize**
- [x] (2) **Fnav-jump**
- [x] (2) **Fnav-pan-horiz**
- [x] (2) **Fnav-pan-vert**
- [x] (2) **Fnav-pause**
- [x] (2) **Fnav-step**
- [ ] (3) **Fca-border**
- [ ] (3) **Fconfig-border**
- [ ] (3) **Fconfig-pattern-grid**
- [ ] (3) **Fconfig-pattern-horiz**
- [ ] (3) **Fpattern-grid**
- [ ] (3) **Fpattern-horiz**
- [ ] (3) **Fpattern-select**
- [ ] (4) **Finfo-condensed**
- [ ] (4) **Finfo-ignore**
- [ ] (4) **Finfo-linear**
- [ ] (4) **Finfo-totalistic**
- [x] (4) **Fload-symmetry**
- [ ] (5) **Fnav-zoom**
- [ ] (5) **Fpattern-110**#### Unplanned optional features
- [ ] **Fca-custom-redimension**
- [ ] **Fconfig-custom-redimension**
- [ ] **Fconfig-custom-resize**
- [ ] **Fconfig-reason**
- [ ] **Fnav-resize**
- [ ] **Fscripting**## Release calendar
The releases are planned for the following dates:
1. (2019-01-05)
2. (2019-01-19)
3. (2019-02-02)
4. (2019-02-16)
5. (2019-03-01)## Prototypes
### CAE1D Flasher
Find it in git with tag `rm-flasher`.
This prototype resided in `prototype/image-data`. It served to prove that there
was way to make JS rendering fast enough that we could rely solely on JS for
the rendering.N.B: This uses the `ctx.putImageData` API.
The prototype has been deployed to [cae1d-flasher.now.sh](cae1d-flasher.now.sh).
It may or may not still be online today.### GLSL Sandbox
Find it in git with tag `rm-glslsandbox`.
This prototype served to prove that the bare minimum communication between JS
and WebGL was possible and efficient enough to be used in the project.The WebGL prototype was written on glslsandbox.com. It should be available as
specimen [#58247.4](http://glslsandbox.com/e#58247.4).N.B: move your mouse around or nothing will be happen.
### Babylon
This prototype proved Babylon way too slow to be used as a rendering engine for
the project.Find it in git with tag `rm-babylon`. (It's really boring though.)
## Other tags for deleted sources
The tag `rm-measure` was set before the removal of the `measure/` folder.
That folder contained some `.putImageData` related speed measures. It's not very
interesting.