/** * Worker thread for parallel generation (`--jobs N`). * * Each worker renders ONE contiguous row range to its own temp file. Because * Engine 2's value(i) is seekable (independent per row), a worker needs no * coordination with the others — it re-parses the source, renders * `[start, end)` with the SAME options as the single-threaded run, and writes * the bytes. The coordinator concatenates the temp files in order, reproducing * the single-threaded output byte-for-byte. */ import type { UniqPlan } from '../sequence/build.js'; export interface RenderWorkerInput { readonly source: string; readonly seed: string; readonly count: number; /** An override the caller asked for; `undefined` leaves the config's own `local=` alone. */ readonly locale?: string | undefined; /** The project config's locale — a fallback, never an override. */ readonly defaultLocale?: string | undefined; readonly now: number; readonly dataPaths?: readonly string[] | undefined; readonly baseDir?: string | undefined; /** The engine the caller FORCED; undefined routes by config (`mode: "disk"`). */ readonly engine?: 1 | 2 | 3 | undefined; readonly start: number; readonly end: number; readonly tmpPath: string; /** * The uniq arrangement the coordinator worked out for the WHOLE file. * * Without it a worker would analyse the run itself — every row, twice — and * eleven workers each doing that is slower than one thread doing it once. * With it a worker does no analysis at all and simply renders its range. */ readonly uniqPlan?: UniqPlan | undefined; } //# sourceMappingURL=render-worker.d.ts.map