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
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...