ó
    Í>j·  ã                   óT   • S r SSKJrJr  SSKJrJr  SSKJrJ	r	  SSK
JrJrJr  / SQrg)u±  Fuse docling's spine with the Set-of-Mark/Camelot tables.

docling and SoM/Camelot extract the same page and are each stronger at different
things, so this package fuses them â€” each enriches the other. SoM/Camelot owns
the vetted, text-grounded table bodies; docling owns the spine (reading order,
headings, text), an independent table count, picture classification, and the OCR
signal for regions read from the page image.

`match_tables` pairs the two extractions by bounding-box overlap and classifies
each region (see `models.RegionMatch`). The graft and annotation passes act on
those records to produce the two corrected outputs: the SoM/Camelot tables and a
unified `DoclingDocument` whose table bodies come from Camelot.

`fuse_artifacts` is the standalone fusion step (already-produced data in, both
outputs out); `DocumentFusion` is the local control flow that runs the document
and table extractions in-process and then fuses them.
é    )ÚDocumentFusionÚfuse_artifacts)Úbuild_unified_documentÚmarkdown_to_table_data)ÚMATCH_FRACTIONÚmatch_tables)ÚFusionResultÚ	MatchKindÚRegionMatch)	r   r   r	   r
   r   r   r   r   r   N)Ú__doc__Úquber.core.fusion.fusionr   r   Úquber.core.fusion.graftr   r   Úquber.core.fusion.matchingr   r   Úquber.core.fusion.modelsr	   r
   r   Ú__all__© ó    Ú8/home/mande/repo/quber/src/quber/core/fusion/__init__.pyÚ<module>r      s#   ðñ÷$ Dß Rß Cß IÑ Iò
�r   