I think I'd have to write an essay to explain how it works. I tried to look into existing maze-generation algorithms but I ended up just winging the algorithm. The sad reality is that a lot of the code ended up being messy, which makes sense given that it's a hacky game jam prototype. The room grid generator itself was still somewhat okay-written (the actual playable room generation is where the spaghetti begins), but either way I've been thinking about redoing it from scratch, as now that I know what I'm doing I can actualy implement proper code, and then open-sourcing the cell grid generator as a set of GDScript classes (for Godot Engine). I'm not sure when I'll get around to that, though.
Oh, one more interesting thing to note about the level generation is that the room tileset is in negative space. Getting the autotiling to work right took me a little bit longer than I would've liked but it worked out well enough, I guess.