Wave Function Collapse
This is a Processing implementation of the famous algorithm sometimes reffered to as WFC.
I did that as a test and it's not efficient at all (currently not optimized, recomputes solutions each frames intead of storing them, destroys entire generated sequences arbitrarily as a form of backtracking, etc) but it somehow works!
In short, it can use a given pattern such as :

Split it into little tiles and generate something bigger from it :


Here is a Win64 compiled version of it.
Here is a github page about it.
This process reminded me of my even less efficient tileuser experiment from 2009 and if I was younger I would probably try to bind them together somehow.
And here are a few pictures produced along the way (including buggy ones)...







