API Referenceο
Complete C++ API documentation for Docraftβs loom engine β auto-generated from source code comments. See About Docraft for how these pieces fit together as a pipeline.
Core Componentsο
DocraftLoomPdfCreator β the entry point that owns the node tree and
drives Measure β Layout β Pagination β Rendering.
Domain-driven exception hierarchy used across parser, layout, rendering, backend, and templating subsystems.
Node Treeο
DocraftLoomNode, LayoutBox, and text-family nodes β Text,
Title, Subtitle, PageNumber, Paragraph, Image, Blank, NewPage.
Geometric primitives β Rectangle, Circle, Triangle, Line,
Polygon with a composed DocraftLoomShapeStyle (fill/stroke/border).
Stacking layout β VStack/HStack, Table/TableCell,
List (ordered/unordered) for composing complex structures.
Shared geometry/color types, DocraftDocumentMetadata, and loom
enums β TextAlignment, ListKind, ImageFormat, page format, and more.
Pipelineο
The four visitor passes β Measure, Layout, Pagination, Rendering β plus the shared visitor interfaces and weighted-column helper.
Capability-split rendering interfaces β currently implemented with
libharu (DocraftHaruBackend), consumed but not yet swappable
from the loom orchestrator.
Template & Parsingο
Generic XML parsing (docraft::craft) plus the loom-specific bridge
(DocraftLoomCraftLanguageParser, DocraftLoomTreeBuilder) that
builds the node tree.
Data binding and template expansion β ${variables}, <Foreach> loops,
and JSON model integration.
Utilitiesο
Helper functions for color parsing, font registration/resolution, logging, and base64 decoding.