#ifndef GENESIS_BLOBBER_PIPELINE_H
#define GENESIS_BLOBBER_PIPELINE_H

#include <stdint.h>
#include "dungeon.h"

/* Generate a dungeon using the existing 2D pipeline under the hood, then
   materialize into a 3D cell3d_t grid with per-face wall flags.

   Each of the n_levels runs an independent 2D generation with seed +
   level_index. When n_levels > 1, a post-pass replaces the per-level stair
   placement with aligned pairs: level L's down-stair and level L+1's
   up-stair share the same XY. The bottom level has no down-stair, the top
   level keeps its up-stair as the party's entry point.

   Returns a newly-allocated dungeon_t; caller must dungeon_destroy() it.
   Returns NULL on allocation failure. */
dungeon_t *blobber_generate(uint64_t seed, int n_levels, int depth);

#endif
