## build_hdulist()


Assemble the full proposal-shaped `~astropy.io.fits.HDUList`.


Usage

``` python
build_hdulist(
    *,
    cube,
    raw_counts,
    cal_factor,
    wavelength,
    background=None,
    on_overflow="widen",
    header,
    geometry,
    kernels,
    bodies,
    resolved_bodies,
    dims,
    rings_in_fov=False,
    edge_on=False
)
```


Parameters mirror the proposal's data products. `geometry` is keyed by HDU name (`"SC_GEOM"`, `"BODY_GEOM"`, `"GENERAL_GEOM"`, `"RING_GEOM"`); each value maps column name -\> ndarray already shaped `(nrows, *reversed_tdim)`. Missing columns are zero-filled so a partial geometry pipeline still yields a valid, inspectable file.
