# This file is automatically generated by pyo3_stub_gen
# ruff: noqa: E501, F401, F403, F405

import numpy
from raygeo import geo
__all__ = [
    "geometry_to_image",
]

def geometry_to_image(strokes: geo.Geometry, fills: geo.Geometry, size_mm: tuple[float, float], dpi: float = 96) -> numpy.ndarray:
    r"""
    Rasterise vector geometry into an RGBA uint8 image.
    
    Converts mm‑space Y‑up geometry into a pixel buffer (Y‑down,
    origin top‑left) at the given *dpi*.
    
    Uses basic anti-aliasing for the wire‑frame strokes, and scan‑line
    filling for the closed polygons.
    
    :param strokes: Wire‑frame paths (stroked in black).
    :param fills: Closed polygons (scan‑line filled in light gray).
    :param size_mm: Physical size ``(width, height)`` in mm.
    :param dpi: Output resolution in dots per inch (default 96).
    :returns: ``numpy.ndarray`` with shape ``(H, W, 4)`` and dtype ``uint8``.
    """

