Explaining WaveFunctionCollapse

This video from Martin Donald is a great explanation of the WaveFunctionCollapse algorithm. I particularly appreciate that it also talks about calculating the adjacency constraints, which often gets overlooked when talking about WFC: There are many ways to implement both the solver and the adjacency calculations.

I also appreciate that Martin’s description digs into some of the data structure thinking that goes into actually implementing a version of WFC. I find that tends to trip many people up when they try to actually program the thing.