postext 0.3.38 → 0.3.40
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/__bench__/chapter.bench.test.d.ts +2 -0
- package/dist/__bench__/chapter.bench.test.d.ts.map +1 -0
- package/dist/__bench__/chapter.bench.test.js +80 -0
- package/dist/__bench__/chapter.bench.test.js.map +1 -0
- package/dist/__tests__/buildAsync.test.d.ts +2 -0
- package/dist/__tests__/buildAsync.test.d.ts.map +1 -0
- package/dist/__tests__/buildAsync.test.js +50 -0
- package/dist/__tests__/buildAsync.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +5 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/hyphenateMemo.test.d.ts +2 -0
- package/dist/__tests__/hyphenateMemo.test.d.ts.map +1 -0
- package/dist/__tests__/hyphenateMemo.test.js +21 -0
- package/dist/__tests__/hyphenateMemo.test.js.map +1 -0
- package/dist/__tests__/knuthPlassMerge.test.d.ts +2 -0
- package/dist/__tests__/knuthPlassMerge.test.d.ts.map +1 -0
- package/dist/__tests__/knuthPlassMerge.test.js +55 -0
- package/dist/__tests__/knuthPlassMerge.test.js.map +1 -0
- package/dist/__tests__/memos.test.d.ts +2 -0
- package/dist/__tests__/memos.test.d.ts.map +1 -0
- package/dist/__tests__/memos.test.js +37 -0
- package/dist/__tests__/memos.test.js.map +1 -0
- package/dist/__tests__/pipeline/rotatedResource.test.d.ts +2 -0
- package/dist/__tests__/pipeline/rotatedResource.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/rotatedResource.test.js +242 -0
- package/dist/__tests__/pipeline/rotatedResource.test.js.map +1 -0
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +7 -1
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/index.d.ts +5 -0
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +7 -4
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +21 -4
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/canvas-backend/swatch.d.ts +8 -0
- package/dist/canvas-backend/swatch.d.ts.map +1 -0
- package/dist/canvas-backend/swatch.js +20 -0
- package/dist/canvas-backend/swatch.js.map +1 -0
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +38 -10
- package/dist/html-backend.js.map +1 -1
- package/dist/hyphenate.d.ts.map +1 -1
- package/dist/hyphenate.js +50 -1
- package/dist/hyphenate.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
- package/dist/knuthPlass/breakpoints.js +7 -1
- package/dist/knuthPlass/breakpoints.js.map +1 -1
- package/dist/knuthPlass/richAdapter.d.ts +4 -0
- package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/richAdapter.js +2 -1
- package/dist/knuthPlass/richAdapter.js.map +1 -1
- package/dist/knuthPlass/types.d.ts +8 -0
- package/dist/knuthPlass/types.d.ts.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +1 -0
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts +8 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +25 -2
- package/dist/measure/rich.js.map +1 -1
- package/dist/parse/blockParser.d.ts +5 -3
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +45 -30
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/index.d.ts +2 -0
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js +1 -0
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +26 -0
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +45 -0
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/inlineSnippet.d.ts +1 -1
- package/dist/parse/inlineSnippet.d.ts.map +1 -1
- package/dist/parse/inlineSnippet.js +4 -3
- package/dist/parse/inlineSnippet.js.map +1 -1
- package/dist/parse/sourceMapping.d.ts.map +1 -1
- package/dist/parse/sourceMapping.js +19 -1
- package/dist/parse/sourceMapping.js.map +1 -1
- package/dist/parse/types.d.ts +10 -0
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/bandCaps.d.ts +16 -0
- package/dist/pipeline/bandCaps.d.ts.map +1 -1
- package/dist/pipeline/bandCaps.js +22 -0
- package/dist/pipeline/bandCaps.js.map +1 -1
- package/dist/pipeline/build.d.ts +33 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +140 -38
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +18 -0
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/floatPlacement.d.ts +10 -3
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +10 -5
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/floatSlots.d.ts +3 -0
- package/dist/pipeline/floatSlots.d.ts.map +1 -1
- package/dist/pipeline/floatSlots.js.map +1 -1
- package/dist/pipeline/index.d.ts +2 -2
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +1 -1
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +6 -2
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +16 -2
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +51 -4
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/table/model.d.ts +7 -1
- package/dist/table/model.d.ts.map +1 -1
- package/dist/table/model.js +19 -0
- package/dist/table/model.js.map +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +50 -1
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +29 -0
- package/dist/vdt.js.map +1 -1
- package/dist/worker/client.d.ts +18 -2
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +28 -3
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/layout.worker.js +135 -56
- package/dist/worker/layout.worker.js.map +1 -1
- package/dist/worker/protocol.d.ts +27 -2
- package/dist/worker/protocol.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/vdt.d.ts
CHANGED
|
@@ -36,13 +36,20 @@ export interface ResolvedConfig {
|
|
|
36
36
|
export type VDTBlockType = 'paragraph' | 'heading' | 'resource' | 'blockquote' | 'listItem' | 'footnoteRef' | 'mathDisplay' | 'callout';
|
|
37
37
|
export type TextAlign = 'left' | 'justify' | 'center' | 'right';
|
|
38
38
|
export interface VDTLineSegment {
|
|
39
|
-
kind: 'text' | 'space' | 'math';
|
|
39
|
+
kind: 'text' | 'space' | 'math' | 'swatch';
|
|
40
40
|
text: string;
|
|
41
41
|
width: number;
|
|
42
42
|
bold?: boolean;
|
|
43
43
|
italic?: boolean;
|
|
44
44
|
/** Present when `kind === 'math'`. The rendered formula. */
|
|
45
45
|
mathRender?: MathRender;
|
|
46
|
+
/** Present when `kind === 'swatch'`: an inline colour swatch (`:swatch{…}`),
|
|
47
|
+
* a square of `width` px filled with `color` (a hex; absent when the
|
|
48
|
+
* colour did not resolve — the square is then an empty outline), sitting
|
|
49
|
+
* on the baseline and outlined in the text colour. */
|
|
50
|
+
swatch?: {
|
|
51
|
+
color?: string;
|
|
52
|
+
};
|
|
46
53
|
/** Present when this segment renders an inline `:ref{…}` to a resource.
|
|
47
54
|
* Renderers recolour it (link colour) and the PDF backend emits a link
|
|
48
55
|
* annotation to the resource's named destination. */
|
|
@@ -114,6 +121,9 @@ export interface VDTResourceTableCell {
|
|
|
114
121
|
lines: VDTLine[];
|
|
115
122
|
/** The cell's embedded image, when it has one and the resource resolved. */
|
|
116
123
|
image?: VDTResourceTableCellImage;
|
|
124
|
+
/** The cell's own fill (hex, `TableCell.background` resolved through the
|
|
125
|
+
* palette), painted instead of the table's header / body fill. */
|
|
126
|
+
background?: string;
|
|
117
127
|
}
|
|
118
128
|
/** Laid-out table geometry for a `kind: 'table'` resource block. */
|
|
119
129
|
export interface VDTResourceTableLayout {
|
|
@@ -172,12 +182,51 @@ export interface VDTTableSlice {
|
|
|
172
182
|
continues: boolean;
|
|
173
183
|
}
|
|
174
184
|
/** The resolved, measured content of a resource block. */
|
|
185
|
+
/** A resource block set turned a quarter turn on the page (a landscape
|
|
186
|
+
* table in a portrait book). The block's inner geometry — `bodyRect`, the
|
|
187
|
+
* table cells, the caption, note and marker lines, the caption bar — is
|
|
188
|
+
* then expressed in the block's own upright frame (its top-left at
|
|
189
|
+
* `(0, 0)`, `width` × `height` px), and this record maps that frame onto
|
|
190
|
+
* the page: the upright origin lands at page point `(originX, originY)`
|
|
191
|
+
* and, for `'ccw'`, the upright x axis runs up the page and the y axis
|
|
192
|
+
* runs right (`'cw'`: x down, y left). See {@link resourceBlockToPage} and
|
|
193
|
+
* {@link resourceBlockToLocal}. An upright block has no `rotation` and its
|
|
194
|
+
* inner geometry is in page coordinates once placed. */
|
|
195
|
+
export interface VDTResourceRotation {
|
|
196
|
+
direction: 'ccw' | 'cw';
|
|
197
|
+
/** Page x of the upright frame's top-left corner. */
|
|
198
|
+
originX: number;
|
|
199
|
+
/** Page y of the upright frame's top-left corner. */
|
|
200
|
+
originY: number;
|
|
201
|
+
/** Width of the upright frame (its extent along the page's height). */
|
|
202
|
+
width: number;
|
|
203
|
+
/** Height of the upright frame (its extent along the page's width). */
|
|
204
|
+
height: number;
|
|
205
|
+
}
|
|
206
|
+
/** Map a point of a resource block's inner frame to page coordinates: the
|
|
207
|
+
* identity for an upright block, the rotation for a turned one. */
|
|
208
|
+
export declare function resourceBlockToPage(rb: Pick<ResolvedResourceBlock, 'rotation'>, x: number, y: number): {
|
|
209
|
+
x: number;
|
|
210
|
+
y: number;
|
|
211
|
+
};
|
|
212
|
+
/** Map a page point into a resource block's inner frame (the inverse of
|
|
213
|
+
* {@link resourceBlockToPage}). */
|
|
214
|
+
export declare function resourceBlockToLocal(rb: Pick<ResolvedResourceBlock, 'rotation'>, xPage: number, yPage: number): {
|
|
215
|
+
x: number;
|
|
216
|
+
y: number;
|
|
217
|
+
};
|
|
218
|
+
/** Map an axis-aligned rect of a resource block's inner frame to the page:
|
|
219
|
+
* a quarter turn keeps it axis-aligned, with width and height swapped. */
|
|
220
|
+
export declare function resourceBlockRectToPage(rb: Pick<ResolvedResourceBlock, 'rotation'>, rect: BoundingBox): BoundingBox;
|
|
175
221
|
export interface ResolvedResourceBlock {
|
|
176
222
|
/** The source resource. */
|
|
177
223
|
resource: Resource;
|
|
178
224
|
kind: 'bitmap' | 'svg' | 'table';
|
|
179
225
|
/** Present when the block is one slice of a table split across pages. */
|
|
180
226
|
slice?: VDTTableSlice;
|
|
227
|
+
/** Present when the block is set turned on the page; the inner geometry
|
|
228
|
+
* is then in the block's upright frame (see {@link VDTResourceRotation}). */
|
|
229
|
+
rotation?: VDTResourceRotation;
|
|
181
230
|
/** Rendered number string (e.g. `"1.7"`) for this resource. */
|
|
182
231
|
number: string;
|
|
183
232
|
/** Caption prefix from the resource type (e.g. `"Figure"`). */
|
package/dist/vdt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vdt.d.ts","sourceRoot":"","sources":["../src/vdt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vdt.d.ts","sourceRoot":"","sources":["../src/vdt.ts"],"names":[],"mappings":"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"}
|
package/dist/vdt.js
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
/** Map a point of a resource block's inner frame to page coordinates: the
|
|
2
|
+
* identity for an upright block, the rotation for a turned one. */
|
|
3
|
+
export function resourceBlockToPage(rb, x, y) {
|
|
4
|
+
const r = rb.rotation;
|
|
5
|
+
if (!r)
|
|
6
|
+
return { x, y };
|
|
7
|
+
return r.direction === 'ccw'
|
|
8
|
+
? { x: r.originX + y, y: r.originY - x }
|
|
9
|
+
: { x: r.originX - y, y: r.originY + x };
|
|
10
|
+
}
|
|
11
|
+
/** Map a page point into a resource block's inner frame (the inverse of
|
|
12
|
+
* {@link resourceBlockToPage}). */
|
|
13
|
+
export function resourceBlockToLocal(rb, xPage, yPage) {
|
|
14
|
+
const r = rb.rotation;
|
|
15
|
+
if (!r)
|
|
16
|
+
return { x: xPage, y: yPage };
|
|
17
|
+
return r.direction === 'ccw'
|
|
18
|
+
? { x: r.originY - yPage, y: xPage - r.originX }
|
|
19
|
+
: { x: yPage - r.originY, y: r.originX - xPage };
|
|
20
|
+
}
|
|
21
|
+
/** Map an axis-aligned rect of a resource block's inner frame to the page:
|
|
22
|
+
* a quarter turn keeps it axis-aligned, with width and height swapped. */
|
|
23
|
+
export function resourceBlockRectToPage(rb, rect) {
|
|
24
|
+
if (!rb.rotation)
|
|
25
|
+
return rect;
|
|
26
|
+
const a = resourceBlockToPage(rb, rect.x, rect.y);
|
|
27
|
+
const b = resourceBlockToPage(rb, rect.x + rect.width, rect.y + rect.height);
|
|
28
|
+
return createBoundingBox(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.abs(b.x - a.x), Math.abs(b.y - a.y));
|
|
29
|
+
}
|
|
1
30
|
// ---------------------------------------------------------------------------
|
|
2
31
|
// Factory functions
|
|
3
32
|
// ---------------------------------------------------------------------------
|
package/dist/vdt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vdt.js","sourceRoot":"","sources":["../src/vdt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vdt.js","sourceRoot":"","sources":["../src/vdt.ts"],"names":[],"mappings":"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"}
|
package/dist/worker/client.d.ts
CHANGED
|
@@ -2,12 +2,23 @@ import type { PostextContent, PostextConfig } from '../types';
|
|
|
2
2
|
import type { VDTDocument } from '../vdt';
|
|
3
3
|
import type { BuildProgress } from '../pipeline/build';
|
|
4
4
|
export type { BuildProgress } from '../pipeline/build';
|
|
5
|
-
import type { FontPayload } from './protocol';
|
|
6
|
-
export type { FontPayload } from './protocol';
|
|
5
|
+
import type { BuildStats, FontPayload } from './protocol';
|
|
6
|
+
export type { BuildStats, FontPayload } from './protocol';
|
|
7
|
+
export type { BuildPassInfo } from '../pipeline/build';
|
|
7
8
|
export interface BuildOptions {
|
|
8
9
|
signal?: AbortSignal;
|
|
9
10
|
/** Called as the worker's placement advances (throttled by the worker). */
|
|
10
11
|
onProgress?: (progress: BuildProgress) => void;
|
|
12
|
+
/** Called with the finished build's pass timings, right before it resolves. */
|
|
13
|
+
onStats?: (stats: BuildStats) => void;
|
|
14
|
+
/** Fingerprint of `content.resources`. Consecutive builds with the same
|
|
15
|
+
* key ship the list once; the worker keeps it (see the protocol). */
|
|
16
|
+
resourcesKey?: string;
|
|
17
|
+
/** Fingerprint of the whole build; the worker answers a repeat from its
|
|
18
|
+
* document cache (see the protocol). */
|
|
19
|
+
cacheKey?: string;
|
|
20
|
+
/** @internal False: keep the document in the worker only (see `warm`). */
|
|
21
|
+
wantDoc?: boolean;
|
|
11
22
|
}
|
|
12
23
|
export interface LayoutWorkerHandle {
|
|
13
24
|
registerFonts(faces: FontPayload[]): Promise<void>;
|
|
@@ -16,6 +27,11 @@ export interface LayoutWorkerHandle {
|
|
|
16
27
|
* instead of being deduped against a stale face. */
|
|
17
28
|
unregisterFonts(families: string[]): Promise<void>;
|
|
18
29
|
build(content: PostextContent, config?: PostextConfig, opts?: BuildOptions): Promise<VDTDocument>;
|
|
30
|
+
/** Build into the worker's document cache without sending the document
|
|
31
|
+
* back (`cacheKey` required): the next `build` with that key is a hit. */
|
|
32
|
+
warm(content: PostextContent, config: PostextConfig | undefined, opts: BuildOptions & {
|
|
33
|
+
cacheKey: string;
|
|
34
|
+
}): Promise<void>;
|
|
19
35
|
dispose(): void;
|
|
20
36
|
}
|
|
21
37
|
export interface CreateLayoutWorkerOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAmC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAmC,MAAM,YAAY,CAAC;AAE3F,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC;0EACsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;6CACyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD;;yDAEqD;IACrD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,CACH,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB;+EAC2E;IAC3E,IAAI,CACF,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,IAAI,EAAE,YAAY,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,IAAI,CAAC;CACjB;AAUD,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,CAAC,EAAE,yBAAyB,GAClC,kBAAkB,CAqIpB"}
|
package/dist/worker/client.js
CHANGED
|
@@ -4,6 +4,9 @@ export function createLayoutWorker(options) {
|
|
|
4
4
|
let nextId = 1;
|
|
5
5
|
let disposed = false;
|
|
6
6
|
const pending = new Map();
|
|
7
|
+
/** Fingerprint of the resource list the worker holds (messages are
|
|
8
|
+
* handled in order, so once sent it is there for every later build). */
|
|
9
|
+
let sentResourcesKey = null;
|
|
7
10
|
worker.addEventListener('message', (event) => {
|
|
8
11
|
const msg = event.data;
|
|
9
12
|
const entry = pending.get(msg.id);
|
|
@@ -15,7 +18,8 @@ export function createLayoutWorker(options) {
|
|
|
15
18
|
return;
|
|
16
19
|
case 'built':
|
|
17
20
|
pending.delete(msg.id);
|
|
18
|
-
entry.
|
|
21
|
+
entry.onStats?.(msg.stats);
|
|
22
|
+
entry.resolve(msg.doc ?? undefined);
|
|
19
23
|
return;
|
|
20
24
|
case 'fontsRegistered':
|
|
21
25
|
pending.delete(msg.id);
|
|
@@ -70,6 +74,9 @@ export function createLayoutWorker(options) {
|
|
|
70
74
|
send({ kind: 'unregisterFonts', id, families });
|
|
71
75
|
});
|
|
72
76
|
},
|
|
77
|
+
warm(content, config, opts) {
|
|
78
|
+
return this.build(content, config, { ...opts, wantDoc: false }).then(() => undefined);
|
|
79
|
+
},
|
|
73
80
|
build(content, config, opts) {
|
|
74
81
|
const id = nextId++;
|
|
75
82
|
return new Promise((resolve, reject) => {
|
|
@@ -77,10 +84,19 @@ export function createLayoutWorker(options) {
|
|
|
77
84
|
reject(new DOMException('Aborted', 'AbortError'));
|
|
78
85
|
return;
|
|
79
86
|
}
|
|
87
|
+
// Abort settles the promise right away and forgets the id: the
|
|
88
|
+
// worker is asked to stop, but whatever it still posts for this
|
|
89
|
+
// build (a `built` it could not interrupt) is dropped on arrival
|
|
90
|
+
// instead of resolving a caller that moved on.
|
|
80
91
|
const onAbort = () => {
|
|
81
92
|
if (!pending.has(id))
|
|
82
93
|
return;
|
|
83
|
-
|
|
94
|
+
pending.delete(id);
|
|
95
|
+
try {
|
|
96
|
+
send({ kind: 'cancel', id });
|
|
97
|
+
}
|
|
98
|
+
catch { /* disposed */ }
|
|
99
|
+
reject(new DOMException('Aborted', 'AbortError'));
|
|
84
100
|
};
|
|
85
101
|
if (opts?.signal) {
|
|
86
102
|
opts.signal.addEventListener('abort', onAbort, { once: true });
|
|
@@ -93,8 +109,17 @@ export function createLayoutWorker(options) {
|
|
|
93
109
|
},
|
|
94
110
|
onAbort,
|
|
95
111
|
onProgress: opts?.onProgress,
|
|
112
|
+
onStats: opts?.onStats,
|
|
96
113
|
});
|
|
97
|
-
|
|
114
|
+
let payload = content;
|
|
115
|
+
const resourcesKey = opts?.resourcesKey;
|
|
116
|
+
if (resourcesKey && content.resources) {
|
|
117
|
+
if (sentResourcesKey === resourcesKey)
|
|
118
|
+
payload = { ...content, resources: undefined };
|
|
119
|
+
else
|
|
120
|
+
sentResourcesKey = resourcesKey;
|
|
121
|
+
}
|
|
122
|
+
send({ kind: 'build', id, content: payload, config, resourcesKey, cacheKey: opts?.cacheKey, wantDoc: opts?.wantDoc });
|
|
98
123
|
});
|
|
99
124
|
},
|
|
100
125
|
dispose() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="webworker" />
|
|
2
|
-
import {
|
|
2
|
+
import { buildDocumentAsync, BuildCancelledError } from '../pipeline';
|
|
3
3
|
import { initMathEngine, isMathReady } from '../math';
|
|
4
4
|
import { createMeasurementCache, clearMeasurementCache } from '../measure';
|
|
5
5
|
const ctx = self;
|
|
@@ -7,6 +7,44 @@ const registeredFaces = new Set();
|
|
|
7
7
|
let measurementCache = createMeasurementCache();
|
|
8
8
|
let currentBuildId = null;
|
|
9
9
|
let cancelRequestedFor = null;
|
|
10
|
+
/** The last few documents built, by the fingerprint the host sent with
|
|
11
|
+
* the build (`cacheKey`): a chapter paginated in the background and then
|
|
12
|
+
* opened, or opened again, costs no pass. Dropped whenever the fonts
|
|
13
|
+
* change, as the measurements are. */
|
|
14
|
+
const DOC_CACHE_SLOTS = 8;
|
|
15
|
+
const docCache = new Map();
|
|
16
|
+
function docCacheGet(key) {
|
|
17
|
+
const hit = docCache.get(key);
|
|
18
|
+
if (hit) {
|
|
19
|
+
docCache.delete(key);
|
|
20
|
+
docCache.set(key, hit);
|
|
21
|
+
}
|
|
22
|
+
return hit;
|
|
23
|
+
}
|
|
24
|
+
function docCachePut(key, doc) {
|
|
25
|
+
docCache.delete(key);
|
|
26
|
+
docCache.set(key, doc);
|
|
27
|
+
if (docCache.size > DOC_CACHE_SLOTS) {
|
|
28
|
+
const oldest = docCache.keys().next().value;
|
|
29
|
+
if (oldest !== undefined)
|
|
30
|
+
docCache.delete(oldest);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** The resource list of the last build that carried one, by fingerprint. */
|
|
34
|
+
let heldResources = null;
|
|
35
|
+
/** The build's content with its resources filled in from the held list
|
|
36
|
+
* when the message left them out (see `resourcesKey` in the protocol). */
|
|
37
|
+
function withHeldResources(content, resourcesKey) {
|
|
38
|
+
if (!resourcesKey)
|
|
39
|
+
return content;
|
|
40
|
+
if (content.resources) {
|
|
41
|
+
heldResources = { key: resourcesKey, resources: content.resources };
|
|
42
|
+
return content;
|
|
43
|
+
}
|
|
44
|
+
if (heldResources?.key === resourcesKey)
|
|
45
|
+
return { ...content, resources: heldResources.resources };
|
|
46
|
+
return content;
|
|
47
|
+
}
|
|
10
48
|
function faceKey(p) {
|
|
11
49
|
return `${p.family}|${p.weight}|${p.style}|${p.unicodeRange ?? ''}`;
|
|
12
50
|
}
|
|
@@ -40,6 +78,7 @@ async function registerFonts(faces) {
|
|
|
40
78
|
if (addedAny) {
|
|
41
79
|
measurementCache = createMeasurementCache();
|
|
42
80
|
clearMeasurementCache();
|
|
81
|
+
docCache.clear();
|
|
43
82
|
}
|
|
44
83
|
}
|
|
45
84
|
function unregisterFonts(families) {
|
|
@@ -66,6 +105,7 @@ function unregisterFonts(families) {
|
|
|
66
105
|
// A dropped face may have been cached against old glyph metrics.
|
|
67
106
|
measurementCache = createMeasurementCache();
|
|
68
107
|
clearMeasurementCache();
|
|
108
|
+
docCache.clear();
|
|
69
109
|
}
|
|
70
110
|
const PROGRESS_INTERVAL_MS = 80;
|
|
71
111
|
function post(msg) {
|
|
@@ -76,6 +116,89 @@ function serializeError(err) {
|
|
|
76
116
|
return { message: err.message, stack: err.stack };
|
|
77
117
|
return { message: String(err) };
|
|
78
118
|
}
|
|
119
|
+
// Builds run one at a time, in the order they arrived: the build itself
|
|
120
|
+
// yields between passes (so a cancel can land), and two builds interleaved
|
|
121
|
+
// on the same measurement cache and hyphenator would step on each other.
|
|
122
|
+
const queue = [];
|
|
123
|
+
let pumping = false;
|
|
124
|
+
async function pump() {
|
|
125
|
+
if (pumping)
|
|
126
|
+
return;
|
|
127
|
+
pumping = true;
|
|
128
|
+
try {
|
|
129
|
+
for (;;) {
|
|
130
|
+
const msg = queue.shift();
|
|
131
|
+
if (!msg)
|
|
132
|
+
break;
|
|
133
|
+
await runBuild(msg);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
pumping = false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async function runBuild(msg) {
|
|
141
|
+
currentBuildId = msg.id;
|
|
142
|
+
const content = withHeldResources(msg.content, msg.resourcesKey);
|
|
143
|
+
try {
|
|
144
|
+
const cached = msg.cacheKey ? docCacheGet(msg.cacheKey) : undefined;
|
|
145
|
+
if (cached) {
|
|
146
|
+
post({ kind: 'built', id: msg.id, doc: msg.wantDoc === false ? null : cached, stats: { passes: [], totalMs: 0, cached: true } });
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Bring MathJax up before the build path calls renderMath — otherwise
|
|
150
|
+
// the VDT receives placeholder MathRenders and inline formulas paint as
|
|
151
|
+
// grey boxes instead of glyphs. Skipped for docs that contain no `$…$`.
|
|
152
|
+
if (!isMathReady() && /\$/.test(content.markdown)) {
|
|
153
|
+
await initMathEngine();
|
|
154
|
+
if (cancelRequestedFor === msg.id) {
|
|
155
|
+
post({ kind: 'cancelled', id: msg.id });
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Progress goes out at most every PROGRESS_INTERVAL_MS, plus on every
|
|
160
|
+
// new page, so a long build paints a moving bar without flooding the
|
|
161
|
+
// main thread.
|
|
162
|
+
let lastProgressAt = 0;
|
|
163
|
+
let lastPages = -1;
|
|
164
|
+
const passes = [];
|
|
165
|
+
const startedAt = performance.now();
|
|
166
|
+
const doc = await buildDocumentAsync(content, msg.config, measurementCache, {
|
|
167
|
+
shouldCancel: () => cancelRequestedFor === msg.id,
|
|
168
|
+
onPass: (info) => { passes.push(info); },
|
|
169
|
+
onProgress: (progress) => {
|
|
170
|
+
const now = Date.now();
|
|
171
|
+
if (progress.pages === lastPages && now - lastProgressAt < PROGRESS_INTERVAL_MS)
|
|
172
|
+
return;
|
|
173
|
+
lastProgressAt = now;
|
|
174
|
+
lastPages = progress.pages;
|
|
175
|
+
post({ kind: 'progress', id: msg.id, progress });
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
if (cancelRequestedFor === msg.id) {
|
|
179
|
+
post({ kind: 'cancelled', id: msg.id });
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
if (msg.cacheKey)
|
|
183
|
+
docCachePut(msg.cacheKey, doc);
|
|
184
|
+
post({ kind: 'built', id: msg.id, doc: msg.wantDoc === false ? null : doc, stats: { passes, totalMs: performance.now() - startedAt } });
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
if (err instanceof BuildCancelledError) {
|
|
189
|
+
post({ kind: 'cancelled', id: msg.id });
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
post({ kind: 'error', id: msg.id, ...serializeError(err) });
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
if (currentBuildId === msg.id)
|
|
197
|
+
currentBuildId = null;
|
|
198
|
+
if (cancelRequestedFor === msg.id)
|
|
199
|
+
cancelRequestedFor = null;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
79
202
|
ctx.addEventListener('message', async (event) => {
|
|
80
203
|
const msg = event.data;
|
|
81
204
|
switch (msg.kind) {
|
|
@@ -100,65 +223,21 @@ ctx.addEventListener('message', async (event) => {
|
|
|
100
223
|
return;
|
|
101
224
|
}
|
|
102
225
|
case 'build': {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
// before we start the CPU-bound work.
|
|
106
|
-
await Promise.resolve();
|
|
107
|
-
try {
|
|
108
|
-
// Bring MathJax up before the (sync) build path calls renderMath —
|
|
109
|
-
// otherwise the VDT receives placeholder MathRenders and inline
|
|
110
|
-
// formulas paint as grey boxes instead of glyphs. Skipped for docs
|
|
111
|
-
// that contain no `$…$`.
|
|
112
|
-
if (!isMathReady() && /\$/.test(msg.content.markdown)) {
|
|
113
|
-
await initMathEngine();
|
|
114
|
-
if (cancelRequestedFor === msg.id) {
|
|
115
|
-
post({ kind: 'cancelled', id: msg.id });
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
// Progress goes out at most every PROGRESS_INTERVAL_MS, plus on
|
|
120
|
-
// every new page, so a long build paints a moving bar without
|
|
121
|
-
// flooding the main thread.
|
|
122
|
-
let lastProgressAt = 0;
|
|
123
|
-
let lastPages = -1;
|
|
124
|
-
const doc = buildDocument(msg.content, msg.config, measurementCache, {
|
|
125
|
-
shouldCancel: () => cancelRequestedFor === msg.id,
|
|
126
|
-
onProgress: (progress) => {
|
|
127
|
-
const now = Date.now();
|
|
128
|
-
if (progress.pages === lastPages && now - lastProgressAt < PROGRESS_INTERVAL_MS)
|
|
129
|
-
return;
|
|
130
|
-
lastProgressAt = now;
|
|
131
|
-
lastPages = progress.pages;
|
|
132
|
-
post({ kind: 'progress', id: msg.id, progress });
|
|
133
|
-
},
|
|
134
|
-
});
|
|
135
|
-
if (cancelRequestedFor === msg.id) {
|
|
136
|
-
cancelRequestedFor = null;
|
|
137
|
-
post({ kind: 'cancelled', id: msg.id });
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
post({ kind: 'built', id: msg.id, doc });
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
if (err instanceof BuildCancelledError) {
|
|
145
|
-
post({ kind: 'cancelled', id: msg.id });
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
post({ kind: 'error', id: msg.id, ...serializeError(err) });
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
finally {
|
|
152
|
-
if (currentBuildId === msg.id)
|
|
153
|
-
currentBuildId = null;
|
|
154
|
-
if (cancelRequestedFor === msg.id)
|
|
155
|
-
cancelRequestedFor = null;
|
|
156
|
-
}
|
|
226
|
+
queue.push(msg);
|
|
227
|
+
void pump();
|
|
157
228
|
return;
|
|
158
229
|
}
|
|
159
230
|
case 'cancel': {
|
|
160
|
-
if (currentBuildId === msg.id)
|
|
231
|
+
if (currentBuildId === msg.id) {
|
|
161
232
|
cancelRequestedFor = msg.id;
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// Still waiting its turn: never started, so nothing to interrupt.
|
|
236
|
+
const at = queue.findIndex((q) => q.id === msg.id);
|
|
237
|
+
if (at >= 0) {
|
|
238
|
+
queue.splice(at, 1);
|
|
239
|
+
post({ kind: 'cancelled', id: msg.id });
|
|
240
|
+
}
|
|
162
241
|
return;
|
|
163
242
|
}
|
|
164
243
|
case 'dispose': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.worker.js","sourceRoot":"","sources":["../../src/worker/layout.worker.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"layout.worker.js","sourceRoot":"","sources":["../../src/worker/layout.worker.ts"],"names":[],"mappings":"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"}
|