It's simple and elegant. Try implementing for small tilesets and you should get it right away. My bias is still toward search methods for texture synth over neural techniques. Results tend to have fewer artefacts, better long range order ;)
Original repo:
https://github.com/mxgmn/WaveFunctionCollapse