The procgen uses a simplified version of the wave function collapse algorithm. I posted a screenshot of the tiles here. Basically each tile has a tag on each side specifying valid neighbors (empty, ground, fence, tree or path) and it fills on the edges with tiles that match those slots. If there's no match, I add the glitch tile (which is also the pure empty tile so it gets used on purpose as well)
Definitely right about me running out of time! I focused on getting a vertical slice together over adding additional enemies, etc.