I implemented the sample feature from Wave Function Collapse where you can feed it a "vibe example" and it will figure out valid combinations all on its own. Attached is the example I provided. If you only have straight paths and T paths, you'll get a nice output that's similar to recursive subdivision.
Ah wait, I know what I did wrong. I only watched the current block for impossible tiles and proceeded otherwise, but I should really check the whole map because impossible tiles can appear outside through propagation.
Watching the algorithm do its thing is really fascinating. I'm not sure why, but it tends to enter a state where all the remaining tiles have no possible choice (indicated by the XX) and the block reset appears to do nothing
Yess, I did it. These are 2x2 blocks generated with the algorithm, and all are fulfilling the constrain that there must be at least 1 empty space between them
goes to the home improvement center "Yes henlo, I'd like to buy 3 linuxes for my house" "Huh?" "I heard windows suck and people told me to use linux instead "
The biggest hurdle is the fact that while the map data is tile-based, the elements in my drawing take multiple cells and I also don't want to split them into tiles. You would see seams since it's vector graphics rather than pixel art.
This is not a call for help or advice, I'm just letting you know what I'm working on.
Wave Function Collapse really looks like the best algorithm to got for my bot. The basic variant won't work with the kind of constraints I have, but the algorithm is very easy to extend