kapom-report - v0.1.2
    Preparing search index...

    Interface RenderEngineOptions

    Advanced / low-level API — import { ... } from 'kapom-report/advanced'.

    These are the building blocks the public facade sits on: the render engine + cursor, the block classes, the pure table pipeline (group tree / aggregate / column widths), the config resolvers, and plugin authoring (registerBlockType + MeasurableBlock/RenderContext for custom blocks). They're supported, but they're the internal seams of the library and change more freely than the public surface — reach here only when the facade can't express what you need.

    interface RenderEngineOptions {
        font?: FontConfig;
        margins?: Partial<PageMargins>;
        numeric?: NumericStrategy;
        pageFooter?: PageBandLike;
        pageHeader?: PageBandLike;
        pageNumber?: PageNumberInput;
        theme?: ThemeInput;
        typography?: DeepPartial<Typography>;
        watermark?: WatermarkInput;
    }
    Index
    font?: FontConfig

    always registered before the first block renders (VFS timing) — also becomes the doc's default font

    margins?: Partial<PageMargins>
    numeric?: NumericStrategy
    pageFooter?: PageBandLike

    page footer repeated on every page — reserves space at the bottom; drawn at finalize()

    pageHeader?: PageBandLike

    page header repeated on every page — reserves space at the top (subtracted from the content area); drawn at finalize(). A raw render callback (PageBand) or a resolved block tree (BlockBand)

    pageNumber?: PageNumberInput

    a lightweight page-number annotation drawn inside the existing page margin — unlike pageHeader/pageFooter, this never reserves content-area space; true for the default (bottom-left, '{pageNumber} / {totalPages}'), a position string shorthand, or a full object

    theme?: ThemeInput

    ready-made colour scheme (preset name or a Theme object) — drives every table fill; omit = the default blue/grey look

    typography?: DeepPartial<Typography>

    font token per row-type (columnHeader/detailRow/groupHeader/...) — merges over DEFAULT_TYPOGRAPHY one token at a time

    watermark?: WatermarkInput

    watermark repeated on every page — doesn't reserve content-area space (unlike page header/footer); drawn at finalize() before the bands accepts a preset { text: 'DRAFT', ... } or a full render callback (escape hatch)