@build-qube/papyra 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.d.ts CHANGED
@@ -40,6 +40,8 @@ export type { JobHandle, JobTiming } from './scheduler.js';
40
40
  export { AbortError, DEFAULT_PRIORITY } from './scheduler.js';
41
41
  export type { MatchOptions, SearchMatch } from './search.js';
42
42
  export { findRanges, searchPageText } from './search.js';
43
+ export type { SheetInfo, SheetKind, SheetSource, SheetVisibility, WindowRange, WorkbookFormat, WorkbookOptions, WorkbookSource, } from './sheets.js';
44
+ export { openWorkbookWith, Sheet, Workbook } from './sheets.js';
43
45
  export { toBytes } from './source.js';
44
46
  export type { MarkedContent, OrderedLine, StructNode, } from './structure.js';
45
47
  export { buildStructTree, readingOrder, structuredPageString, walkStructTree, } from './structure.js';
@@ -47,7 +49,9 @@ export type { BorderEdge, BorderStyle, CellStyle, ColumnSpan, HorizontalAlign, R
47
49
  export { cssColor } from './styles.js';
48
50
  export type { PageText, Quad, Rect, TextLine } from './text.js';
49
51
  export { lineQuad, pageString, quadBounds, scaleQuad, scaleRect, toPageText, } from './text.js';
50
- export type { DocumentMetadata, OpenOptions, PageBitmap, PageSize, PdfSource, RenderedPage, RenderHandle, RenderOptions, SearchOptions, StreamedPage, StreamOptions, SvgOptions, } from './types.js';
52
+ export type { TiffCompression, TiffPage, TiffRenderOptions, TiffSource, } from './tiff-image.js';
53
+ export { TIFF_MAX_PIXELS, TiffImage } from './tiff-image.js';
54
+ export type { DocumentMetadata, OpenOptions, PageBitmap, PageSize, PdfSource, RenderedPage, RenderHandle, RenderOptions, SearchOptions, StreamedPage, StreamOptions, SvgOptions, Tile, } from './types.js';
51
55
  export type { Rotation, Viewport, ViewportOptions } from './viewport.js';
52
56
  export { rotatePage, rotateSize, viewport, viewportQuad, viewportRect, } from './viewport.js';
53
57
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/core.js CHANGED
@@ -30,9 +30,11 @@ export { toPageLink } from './links.js';
30
30
  export { buildOutlineTree, walkOutline } from './outline.js';
31
31
  export { AbortError, DEFAULT_PRIORITY } from './scheduler.js';
32
32
  export { findRanges, searchPageText } from './search.js';
33
+ export { openWorkbookWith, Sheet, Workbook } from './sheets.js';
33
34
  export { toBytes } from './source.js';
34
35
  export { buildStructTree, readingOrder, structuredPageString, walkStructTree, } from './structure.js';
35
36
  export { cssColor } from './styles.js';
36
37
  export { lineQuad, pageString, quadBounds, scaleQuad, scaleRect, toPageText, } from './text.js';
38
+ export { TIFF_MAX_PIXELS, TiffImage } from './tiff-image.js';
37
39
  export { rotatePage, rotateSize, viewport, viewportQuad, viewportRect, } from './viewport.js';
38
40
  //# sourceMappingURL=core.js.map
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAazD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQpD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAU/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMxC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,WAAW,CAAC;AAgBnB,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAazD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQpD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAU/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMxC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAWzD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,WAAW,CAAC;AAOnB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB7D,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAC"}
package/dist/engine.d.ts CHANGED
@@ -6,7 +6,7 @@ import { type JobHandle, Scheduler } from './scheduler.js';
6
6
  import { type SearchMatch } from './search.js';
7
7
  import type { StructNode } from './structure.js';
8
8
  import { type PageText } from './text.js';
9
- import type { DocumentMetadata, OpenOptions, PageBitmap, PageSize, PdfSource, RenderHandle, RenderOptions, SearchOptions, StreamedPage, StreamOptions } from './types.js';
9
+ import type { DocumentMetadata, OpenOptions, PageBitmap, PageSize, PdfSource, RenderHandle, RenderOptions, SearchOptions, StreamedPage, StreamOptions, Tile } from './types.js';
10
10
  /**
11
11
  * Where text extraction sits in the queue by default.
12
12
  *
@@ -37,6 +37,11 @@ export interface Capabilities {
37
37
  readonly pageLabels: boolean;
38
38
  /** Whether {@link RenderOptions.annotations} is honoured. */
39
39
  readonly annotationsToggle: boolean;
40
+ /**
41
+ * {@link PagedEngine.renderTile}: a window of a page at any size. Absent means
42
+ * false, so an engine written before tiles existed still type-checks.
43
+ */
44
+ readonly tiles?: boolean;
40
45
  }
41
46
  /** No capabilities at all: an engine that only renders pages. */
42
47
  export declare const RENDER_ONLY: Capabilities;
@@ -115,6 +120,8 @@ export interface PagedBackend {
115
120
  readonly capabilities: Capabilities;
116
121
  /** Pages this backend can usefully render at once, when the caller does not say. */
117
122
  readonly concurrency?: number;
123
+ /** Tiles to render at once. Defaults to {@link concurrency}'s resolved value. */
124
+ readonly tileConcurrency?: number;
118
125
  /**
119
126
  * Whether {@link renderPage} stops early when its signal aborts.
120
127
  *
@@ -131,6 +138,8 @@ export interface PagedBackend {
131
138
  * {@link abortable} backend.
132
139
  */
133
140
  renderPage(index: number, options: BackendRenderOptions, signal?: AbortSignal): Promise<PageBitmap>;
141
+ /** Rasterise one window of a page, for {@link Capabilities.tiles}. */
142
+ renderTile?(index: number, tile: Tile, options: BackendRenderOptions, signal?: AbortSignal): Promise<PageBitmap>;
134
143
  /**
135
144
  * Release whatever the backend holds outside the JS heap. Async where that is a
136
145
  * call to somewhere else — a host process — so a failure reaches the caller.
@@ -168,8 +177,18 @@ export interface DocState<B extends PagedBackend = PagedBackend> {
168
177
  readonly engine: PagedEngine<PagedDoc, B>;
169
178
  readonly backend: B;
170
179
  readonly scheduler: Scheduler;
180
+ /**
181
+ * Tiles queue apart from pages: on wasm one tile at a time is faster than four
182
+ * (Addendum 13), and a page render must not wait behind a screenful of them.
183
+ */
184
+ readonly tiles: Scheduler;
171
185
  readonly limit: number;
172
186
  readonly cache: RenderCache<PageBitmap>;
187
+ /**
188
+ * Tiles cache apart from pages: sixteen 1024px tiles would otherwise evict the
189
+ * 96 MB stretched bitmap they sit on, and every neighbouring page with it.
190
+ */
191
+ readonly tileCache: RenderCache<PageBitmap>;
173
192
  readonly text: RenderCache<PageText>;
174
193
  readonly links: RenderCache<readonly PageLink[]>;
175
194
  /** In-flight link reads, so two callers on one page share a single task. */
@@ -211,10 +230,11 @@ export declare function attachSignal(handle: JobHandle<unknown>, signal: AbortSi
211
230
  *
212
231
  * `fitWidth` exists because page sizes vary by two orders of magnitude in area: a
213
232
  * DPI that is sensible for US Letter produces a 113 MB bitmap for an ARCH-E drawing.
233
+ * A tile is held to the same cap by its own pixels, not the page's.
214
234
  *
215
235
  * @internal
216
236
  */
217
- export declare function resolveDpi(backend: PagedBackend, index: number, options: RenderOptions): number;
237
+ export declare function resolveDpi(backend: PagedBackend, index: number, options: RenderOptions, tile?: Tile): number;
218
238
  /** @internal `[start, end)` as an array. */
219
239
  export declare function range(start: number, end: number): number[];
220
240
  /**
@@ -266,6 +286,16 @@ export declare abstract class PagedEngine<D extends PagedDoc = PagedDoc, B exten
266
286
  * priority asked for, and finished pages are served from a byte-bounded cache.
267
287
  */
268
288
  render(doc: PagedDoc, index: number, options?: RenderOptions): RenderHandle<PageBitmap>;
289
+ /**
290
+ * Render one {@link Tile} of a page: the pixels the page would have there at this
291
+ * `dpi` or `fitWidth`, however large the whole would be. The 100 MP refusal applies
292
+ * to the tile, so this is how a page past it is shown — in pieces, each one costing
293
+ * about what the page's own interpretation does (see Addendum 13).
294
+ *
295
+ * Tiles queue apart from pages, at the backend's tile concurrency, and are cached
296
+ * (apart from pages, in 64 MB) and coalesced like pages. Throws on a backend without {@link Capabilities.tiles}.
297
+ */
298
+ renderTile(doc: PagedDoc, index: number, tile: Tile, options?: RenderOptions): RenderHandle<PageBitmap>;
269
299
  /**
270
300
  * Render pages as an async iterable, yielding each as soon as it finishes.
271
301
  *
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAoB,KAAK,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAsCpB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,mBAAmB;IACnB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;CACrC;AAED,iEAAiE;AACjE,eAAO,MAAM,WAAW,EAAE,YAQzB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GACpB;IACE,cAAc;IACd,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;CACnB,GACD;IACE,iBAAiB;IACjB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED,mBAAmB;AACnB,MAAM,WAAW,MAAO,SAAQ,QAAQ;IACtC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,qFAAqF;AACrF,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,oFAAoF;IACpF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,CACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,IAAI,gBAAgB,CAAC;IAC7B,qCAAqC;IACrC,UAAU,IAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,8BAA8B;IAC9B,OAAO,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACnC,wBAAwB;IACxB,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IACpD,mCAAmC;IACnC,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC1C,yCAAyC;IACzC,WAAW,CAAC,IAAI,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAC/C,iCAAiC;IACjC,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,8CAA8C;IAC9C,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACtC;AAED,8DAA8D;AAC9D,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAC7D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAGpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IACjD,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACpC,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAUD,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,CAAC,SAAS,YAAY,EAC5C,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,EACvC,GAAG,EAAE,MAAM,GACV,QAAQ,CAAC,CAAC,CAAC,CAWb;AAED,wEAAwE;AACxE,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC,GAAG,MAAM,CAET;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAC1B,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,IAAI,CASN;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,GACrB,MAAM,CAkBR;AAED,4CAA4C;AAC5C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAOD;;;;;;;;;;GAUG;AACH,8BAAsB,WAAW,CAC/B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,YAAY,GAAG,YAAY;IAErC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,YAAY,IAAI,YAAY,CAAC;IAEtC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7E,oEAAoE;IACpE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAEzC;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CA4BnE;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAalC;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,YAAY,CAAC,UAAU,CAAC,CAuB1B;IAED;;;;;OAKG;IACI,MAAM,CACX,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,aAAkB,GAC1B,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CA+C1C;IAED,sEAAsE;IACtE,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAEpC;CACF;AAED;;;;;;GAMG;AACH,8BAAsB,SAAS,CAC7B,CAAC,SAAS,UAAU,GAAG,UAAU,CACjC,SAAQ,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9B,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAgBnC;IAED;;;;;;;OAOG;IACG,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GACxD,OAAO,CAAC,QAAQ,CAAC,CA0BnB;IAED;;;;;;OAMG;IACI,MAAM,CACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,cAAc,CAAC,WAAW,CAAC,CAmB7B;IAED,iEAAiE;IACjE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU3C;IAED,0EAA0E;IAC1E,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAUlD;IAED,oEAAoE;IACpE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAU7C;IAED,8EAA8E;IAC9E,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAUvD;IAED,0EAA0E;IAC1E,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ9D;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAuB9D;IAED,2EAA2E;IAC3E,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEtC;CACF"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -29,6 +29,8 @@ const DEFAULT_TEXT_CACHE_BYTES = 32 * 1024 * 1024;
29
29
  const LINK_CACHE_BYTES = 4 * 1024 * 1024;
30
30
  /** Rough bytes per cached link: two objects, a rect, and a short string. */
31
31
  const LINK_BYTES = 96;
32
+ /** Bytes of tiles to keep: sixteen 1024px tiles, about a screenful at DPR 2. */
33
+ const TILE_CACHE_BYTES = 64 * 1024 * 1024;
32
34
  /** Used when neither the caller nor the backend names a concurrency. */
33
35
  const FALLBACK_CONCURRENCY = 4;
34
36
  /**
@@ -108,17 +110,24 @@ export function attachSignal(handle, signal) {
108
110
  *
109
111
  * `fitWidth` exists because page sizes vary by two orders of magnitude in area: a
110
112
  * DPI that is sensible for US Letter produces a 113 MB bitmap for an ARCH-E drawing.
113
+ * A tile is held to the same cap by its own pixels, not the page's.
111
114
  *
112
115
  * @internal
113
116
  */
114
- export function resolveDpi(backend, index, options) {
117
+ export function resolveDpi(backend, index, options, tile) {
115
118
  const { width, height } = backend.pageSize(index);
116
119
  const dpi = options.fitWidth !== undefined && width > 0
117
120
  ? (options.fitWidth / width) * 72
118
121
  : (options.dpi ?? DEFAULT_DPI);
119
- const pixels = ((width * dpi) / 72) * ((height * dpi) / 72);
122
+ const pixels = tile
123
+ ? tile.width * tile.height
124
+ : ((width * dpi) / 72) * ((height * dpi) / 72);
120
125
  if (pixels > MAX_PIXELS) {
121
126
  const mb = Math.round((pixels * 4) / 1e6);
127
+ if (tile) {
128
+ throw new RangeError(`papyra: a ${tile.width}x${tile.height} tile is ${mb} MB; ` +
129
+ 'keep a tile under 100 MP.');
130
+ }
122
131
  throw new RangeError(`papyra: page ${index} at ${dpi.toFixed(1)} DPI would be ` +
123
132
  `${Math.round((width * dpi) / 72)}x${Math.round((height * dpi) / 72)} ` +
124
133
  `(${mb} MB). The page is ${(width / 72).toFixed(1)}x${(height / 72).toFixed(1)}in — ` +
@@ -161,8 +170,12 @@ export class PagedEngine {
161
170
  engine: this,
162
171
  backend,
163
172
  scheduler: new Scheduler(limit, { yieldToUrgent: options.yieldToUrgent }),
173
+ tiles: new Scheduler(backend.tileConcurrency ?? limit, {
174
+ yieldToUrgent: options.yieldToUrgent,
175
+ }),
164
176
  limit,
165
177
  cache: new RenderCache(options.cacheBytes ?? DEFAULT_CACHE_BYTES, pageBytes),
178
+ tileCache: new RenderCache(TILE_CACHE_BYTES, pageBytes),
166
179
  text: new RenderCache(options.textCacheBytes ?? DEFAULT_TEXT_CACHE_BYTES, pageTextBytes),
167
180
  links: new RenderCache(LINK_CACHE_BYTES, (links) => links.length * LINK_BYTES),
168
181
  linksPending: new Map(),
@@ -184,6 +197,7 @@ export class PagedEngine {
184
197
  states.delete(doc);
185
198
  // Closed rather than cleared: work already running still resolves into these.
186
199
  state.cache.close();
200
+ state.tileCache.close();
187
201
  state.text.close();
188
202
  state.links.close();
189
203
  try {
@@ -202,25 +216,39 @@ export class PagedEngine {
202
216
  * priority asked for, and finished pages are served from a byte-bounded cache.
203
217
  */
204
218
  render(doc, index, options = {}) {
205
- const { backend, cache, scheduler } = stateOf(this, doc);
219
+ const state = stateOf(this, doc);
220
+ const { backend } = state;
206
221
  const dpi = resolveDpi(backend, index, options);
207
- const key = `${index}@${dpi.toFixed(4)}${annotationKey(options)}`;
208
- const hit = cache.get(key);
209
- if (hit)
210
- return cachedHandle(key, hit);
211
- const handle = scheduler.submit({
212
- key,
213
- priority: options.priority ?? DEFAULT_PRIORITY,
214
- abortable: backend.abortable,
215
- run: (signal) => backend
216
- .renderPage(index, { dpi, annotations: options.annotations }, signal)
217
- .then((page) => {
218
- cache.set(key, page);
219
- return page;
220
- }),
221
- });
222
- attachSignal(handle, options.signal);
223
- return liveHandle(handle);
222
+ return submit(state, state.scheduler, state.cache, `${index}@${dpi.toFixed(4)}${annotationKey(options)}`, options, (signal) => backend.renderPage(index, { dpi, annotations: options.annotations }, signal));
223
+ }
224
+ /**
225
+ * Render one {@link Tile} of a page: the pixels the page would have there at this
226
+ * `dpi` or `fitWidth`, however large the whole would be. The 100 MP refusal applies
227
+ * to the tile, so this is how a page past it is shown — in pieces, each one costing
228
+ * about what the page's own interpretation does (see Addendum 13).
229
+ *
230
+ * Tiles queue apart from pages, at the backend's tile concurrency, and are cached
231
+ * (apart from pages, in 64 MB) and coalesced like pages. Throws on a backend without {@link Capabilities.tiles}.
232
+ */
233
+ renderTile(doc, index, tile, options = {}) {
234
+ const state = stateOf(this, doc);
235
+ const { backend } = state;
236
+ const renderTile = backend.renderTile?.bind(backend);
237
+ if (!renderTile) {
238
+ throw new RangeError(`papyra: ${this.id} renders no tiles`);
239
+ }
240
+ const { x, y, width, height } = tile;
241
+ const whole = (n, max) => Number.isInteger(n) && n >= 0 && n <= max;
242
+ // Here rather than in the addon: napi would wrap -1 to 4294967295 and floor 10.5,
243
+ // rendering and caching a tile under a key that does not describe it.
244
+ if (!whole(x, 0xffffffff) ||
245
+ !whole(y, 0xffffffff) ||
246
+ !whole(width - 1, 0xfffe) ||
247
+ !whole(height - 1, 0xfffe)) {
248
+ throw new RangeError(`papyra: tile ${x},${y} ${width}x${height} needs whole x, y >= 0 and sides 1 to 65535`);
249
+ }
250
+ const dpi = resolveDpi(backend, index, options, tile);
251
+ return submit(state, state.tiles, state.tileCache, `${index}@${dpi.toFixed(4)}#${x},${y},${width}x${height}${annotationKey(options)}`, options, (signal) => renderTile(index, tile, { dpi, annotations: options.annotations }, signal));
224
252
  }
225
253
  /**
226
254
  * Render pages as an async iterable, yielding each as soon as it finishes.
@@ -453,6 +481,27 @@ export class PdfEngine extends PagedEngine {
453
481
  return stateOf(this, doc).text.stats;
454
482
  }
455
483
  }
484
+ /**
485
+ * The cache in front of the queue in front of the backend, which is what a render
486
+ * and a tile render share: a hit costs nothing, a miss is queued under `key` so a
487
+ * second request joins the first, and the result is cached on the way out.
488
+ */
489
+ function submit({ backend }, scheduler, cache, key, options, run) {
490
+ const hit = cache.get(key);
491
+ if (hit)
492
+ return cachedHandle(key, hit);
493
+ const handle = scheduler.submit({
494
+ key,
495
+ priority: options.priority ?? DEFAULT_PRIORITY,
496
+ abortable: backend.abortable,
497
+ run: (signal) => run(signal).then((page) => {
498
+ cache.set(key, page);
499
+ return page;
500
+ }),
501
+ });
502
+ attachSignal(handle, options.signal);
503
+ return liveHandle(handle);
504
+ }
456
505
  /**
457
506
  * Wrap a scheduler handle as a {@link RenderHandle}.
458
507
  *
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,8 +21,6 @@ export { encode, PageImage } from './encode.js';
21
21
  export { defaultPdfEngine, PapyraEngine } from './papyra-engine.js';
22
22
  export type { Runtime } from './runtime.js';
23
23
  export { backend, currentRuntime, hardwareConcurrency, init, } from './runtime.js';
24
- export type { TiffCompression, TiffPage, TiffRenderOptions, } from './tiff.js';
25
- export { openTiff, TIFF_MAX_PIXELS, TiffImage } from './tiff.js';
26
- export type { SheetInfo, SheetKind, SheetVisibility, WindowRange, WorkbookFormat, WorkbookOptions, } from './workbook.js';
27
- export { openWorkbook, Sheet, Workbook } from './workbook.js';
24
+ export { openTiff } from './tiff.js';
25
+ export { openWorkbook } from './workbook.js';
28
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,WAAW,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,QAAQ,EACR,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjE,YAAY,EACV,SAAS,EACT,SAAS,EACT,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,WAAW,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -19,6 +19,6 @@ export { Document, open } from './document.js';
19
19
  export { encode, PageImage } from './encode.js';
20
20
  export { defaultPdfEngine, PapyraEngine } from './papyra-engine.js';
21
21
  export { backend, currentRuntime, hardwareConcurrency, init, } from './runtime.js';
22
- export { openTiff, TIFF_MAX_PIXELS, TiffImage } from './tiff.js';
23
- export { openWorkbook, Sheet, Workbook } from './workbook.js';
22
+ export { openTiff } from './tiff.js';
23
+ export { openWorkbook } from './workbook.js';
24
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,IAAI,GACL,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AASjE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -6,7 +6,7 @@ import { type PageLink } from './links.js';
6
6
  import { type OutlineNode } from './outline.js';
7
7
  import { type StructNode } from './structure.js';
8
8
  import { type PageText } from './text.js';
9
- import type { DocumentMetadata, OpenOptions, PageSize, PdfSource, RenderedPage } from './types.js';
9
+ import type { DocumentMetadata, OpenOptions, PageSize, PdfSource, RenderedPage, Tile } from './types.js';
10
10
  /**
11
11
  * papyra's own engine: hayro, compiled into the native addon in Node and into wasm in
12
12
  * a browser. Imported from `@build-qube/papyra/engine` (or the main entry), never from
@@ -50,11 +50,13 @@ export declare class PapyraBackend implements PdfBackend {
50
50
  readonly native: NativeDocument;
51
51
  readonly fingerprint: string;
52
52
  readonly concurrency: number;
53
+ readonly tileConcurrency?: number | undefined;
53
54
  readonly capabilities: Capabilities;
54
- constructor(native: NativeDocument, fingerprint: string, concurrency: number);
55
+ constructor(native: NativeDocument, fingerprint: string, concurrency: number, tileConcurrency?: number | undefined);
55
56
  get pageCount(): number;
56
57
  pageSize(index: number): PageSize;
57
58
  renderPage(index: number, options: BackendRenderOptions): Promise<RenderedPage>;
59
+ renderTile(index: number, { x, y, width, height }: Tile, options: BackendRenderOptions): Promise<RenderedPage>;
58
60
  metadata(): DocumentMetadata;
59
61
  pdfVersion(): string | null;
60
62
  pageText(index: number): Promise<PageText>;
@@ -1 +1 @@
1
- {"version":3,"file":"papyra-engine.d.ts","sourceRoot":"","sources":["../src/papyra-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,cAAc,EAE9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,YAAY,CAAC;AACvD,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACb,MAAM,YAAY,CAAC;AAgDpB;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,QAAQ,CAAC,EAAE,YAAY;IAEvB,YAAY,IAAI,YAAY,CAY3B;IAED;;;;OAIG;IACY,IAAI,CACjB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAKnB;IAED,UAAgB,IAAI,CAClB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAmBrB;CACF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,YACK,CAAC;AAErC;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,UAAU;IAI5C,QAAQ,CAAC,MAAM,EAAE,cAAc;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAL9B,QAAQ,CAAC,YAAY,eAAc;IAEnC,YACW,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC1B;IAEJ,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAEhC;IAED,UAAU,CACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAMvB;IAED,QAAQ,IAAI,gBAAgB,CAE3B;IAED,UAAU,IAAI,MAAM,GAAG,IAAI,CAE1B;IAEK,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE/C;IAED,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAEhC;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAWjD;IAED,UAAU,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAEvC;IAED,WAAW,IAAI,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAE5C;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAEjD;IAED,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAElC;CACF"}
1
+ {"version":3,"file":"papyra-engine.d.ts","sourceRoot":"","sources":["../src/papyra-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,cAAc,EAE9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,YAAY,CAAC;AACvD,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,IAAI,EACL,MAAM,YAAY,CAAC;AAiDpB;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,QAAQ,CAAC,EAAE,YAAY;IAEvB,YAAY,IAAI,YAAY,CAY3B;IAED;;;;OAIG;IACY,IAAI,CACjB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAKnB;IAED,UAAgB,IAAI,CAClB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAsBrB;CACF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,YACK,CAAC;AAErC;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,UAAU;IAI5C,QAAQ,CAAC,MAAM,EAAE,cAAc;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM;IANnC,QAAQ,CAAC,YAAY,eAAc;IAEnC,YACW,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,YAAA,EAC/B;IAEJ,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAEhC;IAED,UAAU,CACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAMvB;IAED,UAAU,CACR,KAAK,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAC7B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAUvB;IAED,QAAQ,IAAI,gBAAgB,CAE3B;IAED,UAAU,IAAI,MAAM,GAAG,IAAI,CAE1B;IAEK,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE/C;IAED,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAEhC;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAWjD;IAED,UAAU,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAEvC;IAED,WAAW,IAAI,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAE5C;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAEjD;IAED,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAElC;CACF"}
@@ -15,6 +15,7 @@ const EVERYTHING = {
15
15
  structure: true,
16
16
  pageLabels: true,
17
17
  annotationsToggle: true,
18
+ tiles: true,
18
19
  };
19
20
  /** napi omits absent strings rather than nulling them; normalise to one shape. */
20
21
  function toMetadata(info) {
@@ -96,7 +97,10 @@ export class PapyraEngine extends PdfEngine {
96
97
  catch (e) {
97
98
  rethrowLoadError(e);
98
99
  }
99
- return new PapyraBackend(inner, fingerprint(bytes), runtime.defaultConcurrency());
100
+ return new PapyraBackend(inner, fingerprint(bytes), runtime.defaultConcurrency(),
101
+ // One at a time on wasm, where four in flight finish later than one does —
102
+ // the first of four lands at ~376ms against ~76ms alone (Addendum 13).
103
+ runtime.currentRuntime() === 'wasm' ? 1 : undefined);
100
104
  }
101
105
  }
102
106
  /**
@@ -120,11 +124,13 @@ export class PapyraBackend {
120
124
  native;
121
125
  fingerprint;
122
126
  concurrency;
127
+ tileConcurrency;
123
128
  capabilities = EVERYTHING;
124
- constructor(native, fingerprint, concurrency) {
129
+ constructor(native, fingerprint, concurrency, tileConcurrency) {
125
130
  this.native = native;
126
131
  this.fingerprint = fingerprint;
127
132
  this.concurrency = concurrency;
133
+ this.tileConcurrency = tileConcurrency;
128
134
  }
129
135
  get pageCount() {
130
136
  return this.native.pageCount;
@@ -135,6 +141,9 @@ export class PapyraBackend {
135
141
  renderPage(index, options) {
136
142
  return this.native.renderPageAsync(index, options.dpi, options.annotations);
137
143
  }
144
+ renderTile(index, { x, y, width, height }, options) {
145
+ return this.native.renderTileAsync(index, options.dpi, x, y, width, height, options.annotations);
146
+ }
138
147
  metadata() {
139
148
  return toMetadata(this.native.info());
140
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"papyra-engine.js","sourceRoot":"","sources":["../src/papyra-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"papyra-engine.js","sourceRoot":"","sources":["../src/papyra-engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qFAAqF;AACrF,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,mFAAmF;IACnF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAqBD;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,6BAA6B;IAC7B,SAAkB,IAAI,gBAAgB;IACtC,YAAY,MAAM,SAAc,EAE/B;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;;IAapB,YAAY,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,EAGxD;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IASD,gEAAgE;IAChE,IAAI,YAAY,IAAI,MAAM,CAOzB;IAED,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAoC5C;CAwFF"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qFAAqF;AACrF,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,mFAAmF;IACnF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAqBD;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,6BAA6B;IAC7B,SAAkB,IAAI,gBAAgB;IACtC,YAAY,MAAM,SAAc,EAE/B;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;;IAapB,YAAY,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,EAGxD;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IASD,gEAAgE;IAChE,IAAI,YAAY,IAAI,MAAM,CAOzB;IAED,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAoC5C;CA2FF"}
package/dist/scheduler.js CHANGED
@@ -176,8 +176,9 @@ export class Scheduler {
176
176
  next.controller = new AbortController();
177
177
  // Stamp the finish time before settling, so `timing` is already populated by
178
178
  // the time an awaiting caller resumes — a `.finally()` would run after them.
179
- next
180
- .run(next.controller?.signal)
179
+ // Through a promise, so a `run` that throws before returning one rejects the
180
+ // job and frees its slot instead of leaving it in `#running` for good.
181
+ new Promise((resolve) => resolve(next.run(next.controller?.signal)))
181
182
  .then((value) => {
182
183
  next.finishedAt = performance.now();
183
184
  next.resolve(value);
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAmElC;;;;;GAKG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,6BAA6B;IACX,IAAI,GAAG,YAAY,CAAC;IACtC,YAAY,MAAM,GAAG,WAAW;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAiBD;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IACX,MAAM,CAAS;IACf,cAAc,CAAU;IACxB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7C,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACtD;;;;OAIG;IACM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,IAAI,GAAG,CAAC,CAAC;IAET,YAAY,KAAa,EAAE,OAAO,GAAqB,EAAE;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IACtD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,QAAQ,GAAG,QAAQ;gBAAE,OAAO,IAAI,CAAC;QAC7C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gEAAgE;IAChE,IAAI,YAAY;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAI,GAAoB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1E,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,wEAAwE;YACxE,uEAAuE;YACvE,IAAI,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;gBAAE,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAiB,CAAC;QAChD,CAAC;QAED,IAAI,OAA4B,CAAC;QACjC,IAAI,MAAkC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1C,OAAO,GAAG,GAAG,CAAC;YACd,MAAM,GAAG,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAa;YACtB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE;YAC3B,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,KAAK;YACjC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,KAAK;YACd,OAAO;YACP,MAAM;YACN,OAAO;SACR,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAuB,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAuB,CAAiB,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,KAAqB;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,MAAM;gBACR,OAAO,KAAK,CAAC,UAAU;oBACrB,CAAC,CAAC;wBACE,MAAM,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ;wBACxC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS;qBAC1C;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YACD,WAAW,EAAE,CAAC,QAAgB,EAAE,EAAE;gBAChC,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAChD,CAAC;YACD,MAAM,EAAE,CAAC,MAAe,EAAE,EAAE;gBAC1B,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC;oBAAE,OAAO;gBAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChC,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE,OAAO;gBACxE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC1B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACjD,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjE,IAAI,IAAgC,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3C,IACE,CAAC,IAAI;oBACL,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;oBAC9B,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAC1D,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI;gBAAE,OAAO;YAElB,0EAA0E;YAC1E,oDAAoD;YACpD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAClE,OAAO;YAET,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YAE5D,6EAA6E;YAC7E,6EAA6E;YAC7E,IAAI;iBACD,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;iBAC5B,IAAI,CACH,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CACF;iBACA,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}