Preload more data
It would make things easier if more data is analyzed (like in tile.js) before starting the draw loop.
When creating the Grid, save the x and y positions as well as the coordinates (x1, x2, y1, y2 for example) this will eliminate the need for 2 loops as well as allowing for clicking on a specific Cell.
To each Cell in the Grid I added an up, down, left & right value to check for valid values, this saves time when comparing. To each Tile in the TileSet I added a value to disallow for self-connecting and I filter those out in the Tile.analyse() function
my code is at: https://github.com/Fietsje/Wave-Function-Collapse
I really like seeing this project in action...
This is great! (I realize my reply is almost 3 years later!). I'm starting to add links and more documentation to this repo. Do you want to add something to the README? See https://github.com/CodingTrain/Wave-Function-Collapse/pull/46