Great work! I made a quick Observable notebook out of your code, in case anyone wants to see what it does without downloading or running it on their own machine:
https://beta.observablehq.com/@jrus/wolfram-cellular-automat...
https://beta.observablehq.com/@jrus/wolfram-cellular-automat...