OptionalfloorOptionalkindsOptionalmustcells that must end up floor whatever the rolls did, and reachable
OptionalrandomA stream to draw from instead of seeding one: the cave consumes it, so the caller's
sequence advances and a replay of that sequence reproduces the cave. Wins over seed.
Optionalseedseeds the Random stream the cave is drawn from; required unless random is given
Optionalshapethe grid the cave is carved on; defaults to 'square'
Optionalstartsone start per side, placed on the named chamber's centre
Optionalvillagecleared cells per 1000 floor cells, returned as villages (the game decides what one means)
Optionalwallterrain ids to write; both must exist in the kinds passed to the Level
extra terrain kinds beyond wall/floor, appended after them - a game's own ids