thank you!
yes for the generated puzzles, it's random and solvable... it basically places some rocks, and then takes a bunch of tries at putting some by-definition-winning placements... e.g. if its trying to add some tyrannosaurs, it picks a random coordinate and then checks if that coordinate has a prey species for a neighbor AND no other tyrannosaurs nearby. so that but for all species, at random
if the result is too mono-flavor, too dense, or too sparse, then it discards the whole thing and starts over. once it has a layout with enough flavors, then it "unsolves" it with a ton of procedural shuffles. if the result is still basically solved, then it discards the whole thing and starts over. dumb but reasonably effective!