#ifndef GENESIS_GEN_MACHINES_H
#define GENESIS_GEN_MACHINES_H

#include "grid.h"
#include "rng.h"
#include "events.h"
#include "chokepoints.h"

/* Place up to one machine per call (A.6c milestone — cascade + multi-machine
   come in A.6d/f). Requires a precomputed chokepoint map + gate-site flags.
   Emits MACHINE_PROPOSED / FEATURE_BUILT / MACHINE_ACCEPTED events.
   Returns the number of machines placed. */
int place_machines(grid_t g, rng_t *rng, int depth, event_sink_t *sink,
                   choke_map_t choke, choke_flag_t is_gate);

#endif
