I studied, reimplemented, and made monochrome Self-Organising Textures by Eyvind Niklasson et. al..

And Goal-Guided Neural Cellular Automata by Shyam Sudhakaran et. al..

Sudhakaran modifies the aforementioned work so the cellular automata will change texture upon receiving a signal. Each change in the video above corresponds to a signal being sent.

I couldn't help but wonder: what if you changed nothing about the aforementioned work? In the video below, I grow a texture using one cellular automata, then change to another one half way through. The textures transition nicely.

It is interesting to me, a peer-reviewed paper on neural cellular automata transitioning between textures doesn't mention they do so by default - no special training nor transition signals needed.

To wrap up, here's a cellular automata trained to grow into a flower-like texture. Each pixel is a cell. Every frame, each cell looks at its immediate neighbors and decides how to modify its color. Each cell uses the same modification rule. How do cells communicating only with their immediate neighbors organize into these complex shapes?

I know every line of code, understand every bit of math, but know little of why or how the images above are generated. Neural networks are like alchemy before chemistry. Compass before magnetism.

Thanks Nick and Moses for interesting conversation.