This was an experiment in using constraint programming to generate levels for my puzzle game lazzzers. While I was able to generate levels with a small subset of rules, encoding more rules became too slow to be feasible.
Being able to sent the solver into the right direction might be helpful here, but the project had to be abandoned at that stage.
Wave function Collapse
I started out with the WFC algorithm which was able to encode very basic rules.
I then went on to use MiniZinc to encode more complex rules which also worked.