/** * Soft proofing (#606): how a page will print, painted on screen. The * canvas renderer paints the page as usual, then every pixel goes through * a proof lookup — sRGB separated through the output profile (K-only * neutrals, as the PDF sets them; black alone in a grayscale print, #800) * and the separation shown back on screen, * on the paper's own white when paper is simulated. Black areas large * enough for the PDF's rich black (a square of `richBlackMinSize` fits in * them) show as rich black. */ import type { BoundingBox } from '../vdt.js'; import type { ResolvedPrintConfig } from '../types.js'; import { type OutputTransform, type RgbLut } from './transform.js'; export interface PrintPreview { /** sRGB → proofed sRGB (0..1, 3 channels). */ lut: RgbLut; /** Large K-only black areas print rich black: the proofed colour * (0..255) and the smaller side, page px, an area needs. */ richBlack?: { rgb: [number, number, number]; minSidePx: number; }; /** Screen guides drawn over the proof (Canvas): the trim and bleed boxes * and the safe zone inside the trim, page px. */ guides?: { safeZonePx: number; }; /** Areas preflight flagged on a page (page px, by `VDTPage.index`), * outlined. */ marksFor?: (pageIndex: number) => readonly BoundingBox[]; } export interface PrintPreviewOptions { /** Simulate the paper's white (absolute colorimetric), as the * Sandbox's Canvas and Folio proofs do. Off: relative to the paper, * white stays white (a host that tints the page itself). */ paper: boolean; /** Page px per inch, for the rich-black minimum size. */ dpi: number; /** Proof a grayscale print (#800): a PDF forced to DeviceGray, whose * grays print in black ink alone (the luma of each colour, as the PDF * sets it, as K), without rich black. */ grayscale?: boolean; } /** The proof of a print setup (memoized per transform and options). */ export declare function createPrintPreview(transform: OutputTransform, print: ResolvedPrintConfig, options: PrintPreviewOptions): PrintPreview; /** Proof RGBA pixels in place. `pxPerPagePx` is the bitmap scale (the * rich-black size is in page px). */ export declare function proofPixels(data: Uint8ClampedArray, width: number, height: number, preview: PrintPreview, pxPerPagePx?: number): void; //# sourceMappingURL=softProof.d.ts.map