Rather than procedural, I wonder what it would look like if you wrote software to mash the vector data for several different randomly-chosen cities' openstreetmap data together.
Taken a step further, train an AI on existing cities and have it imagine a new one. Ideally, you could sketch a basic outline (this part is waterfront, this part is the downtown, this is on a hillside) and it would fill in the details.