{"id":13683871,"url":"https://github.com/cimi/color-automata","last_synced_at":"2025-04-30T20:31:47.587Z","repository":{"id":28197126,"uuid":"56637098","full_name":"cimi/color-automata","owner":"cimi","description":"Colourful cellular automaton implemented with WebAssembly.","archived":true,"fork":false,"pushed_at":"2023-01-28T00:49:47.000Z","size":13582,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-12T05:36:37.947Z","etag":null,"topics":["cellular-automata","colorspace","flocking-algorithm","generative-art","wasm","webassembly"],"latest_commit_sha":null,"homepage":"http://cimi.io/color-automata","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cimi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-19T22:35:59.000Z","updated_at":"2024-03-21T23:54:21.000Z","dependencies_parsed_at":"2023-02-19T05:31:28.831Z","dependency_job_id":null,"html_url":"https://github.com/cimi/color-automata","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cimi%2Fcolor-automata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cimi%2Fcolor-automata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cimi%2Fcolor-automata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cimi%2Fcolor-automata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cimi","download_url":"https://codeload.github.com/cimi/color-automata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251777556,"owners_count":21642185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cellular-automata","colorspace","flocking-algorithm","generative-art","wasm","webassembly"],"created_at":"2024-08-02T14:00:19.736Z","updated_at":"2025-04-30T20:31:46.787Z","avatar_url":"https://github.com/cimi.png","language":"JavaScript","funding_links":[],"categories":["Cellular Automata"],"sub_categories":[],"readme":"## [See the demo](http://cimi.io/color-automata)\n\n![color-automata](https://github.com/cimi/color-automata/blob/master/public/color-automata.png)\n\nThis project was inspired by [A Colorful Cellular Automaton in HTML5 Canvas](http://rectangleworld.com/blog/archives/587). The original JavaScript implementation and the idea behind the algorithm were sourced from that blog post.\n\nThe project is also designed to be a proof of concept for efficiency gains when using WebAssembly (hence the alternate 'C++' implementation, see below).\n\nThe web assembly implementation allows for a higher resolution and higher frame rate (up to 10x) compared to the original JavaScript implementation. Disclaimer: I did not try to optimise the JS implementation, did not do any profiling etc.\n\nLoading the demo page in your browser will yield a colourful tapestry. This is a form of [generative art](https://en.wikipedia.org/wiki/Generative_art): \n\n\u003e A typical cellular automaton consists of a grid of cells which continually change their state based upon the current states of their surrounding neighbors. A “state” may refer to a color, which may simply be black or white, as in Conway’s Game of Life. Here I allow the current RGB color of a cell to be affected by the status of the neighboring cells.\n\n\u003e This idea (which may not be original) comes from a confusing insertion of the ideas of a flocking algorithm into a cellular automaton.\n\n## wasm-quickstart \n\nI've extracted a minimal project setup based on create-react-app and emsdk module objects to make building this sort of stuff simpler:\n\n* https://github.com/cimi/wasm-quickstart\n\n## 'C++'\n\nI haven't written C since University, I've never written C++. [Please forgive the atrocities](http://i0.kym-cdn.com/entries/icons/original/000/008/342/ihave.jpg). Code is reasonably efficient?!\n\n## Resources\n\n* https://github.com/tholman/github-corners/issues/15 - transparent waving Octocat\n* https://www.smashingmagazine.com/2017/05/free-geometric-ui-icons-ego/ - favicon source. Great selection of geometric icons, see more [on the author's site](http://www.webalys.com/).\n* https://www.smashingmagazine.com/2017/05/abridged-cartoon-introduction-webassembly/ - web assembly cartoons\n    - Also check out https://code-cartoons.com/, it’s great!\n* https://blog.openbloc.fr/webassembly-first-steps/ - good tutorial to get started with wasm\n* https://codelabs.developers.google.com/codelabs/web-assembly-intro/ - a few working projects using wasm\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcimi%2Fcolor-automata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcimi%2Fcolor-automata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcimi%2Fcolor-automata/lists"}