postext 0.3.5 → 0.3.7

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.
Files changed (147) hide show
  1. package/dist/__tests__/exports.test.js +1 -0
  2. package/dist/__tests__/exports.test.js.map +1 -1
  3. package/dist/canvas-backend/blockRender.d.ts +3 -0
  4. package/dist/canvas-backend/blockRender.d.ts.map +1 -0
  5. package/dist/canvas-backend/blockRender.js +176 -0
  6. package/dist/canvas-backend/blockRender.js.map +1 -0
  7. package/dist/canvas-backend/decorations.d.ts +6 -0
  8. package/dist/canvas-backend/decorations.d.ts.map +1 -0
  9. package/dist/canvas-backend/decorations.js +106 -0
  10. package/dist/canvas-backend/decorations.js.map +1 -0
  11. package/dist/{canvas-backend.d.ts → canvas-backend/index.d.ts} +2 -2
  12. package/dist/canvas-backend/index.d.ts.map +1 -0
  13. package/dist/canvas-backend/index.js +66 -0
  14. package/dist/canvas-backend/index.js.map +1 -0
  15. package/dist/index.d.ts +2 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/knuthPlass/breakpoints.d.ts +6 -0
  20. package/dist/knuthPlass/breakpoints.d.ts.map +1 -0
  21. package/dist/knuthPlass/breakpoints.js +284 -0
  22. package/dist/knuthPlass/breakpoints.js.map +1 -0
  23. package/dist/knuthPlass/constants.d.ts +8 -0
  24. package/dist/knuthPlass/constants.d.ts.map +1 -0
  25. package/dist/knuthPlass/constants.js +8 -0
  26. package/dist/knuthPlass/constants.js.map +1 -0
  27. package/dist/knuthPlass/index.d.ts +12 -0
  28. package/dist/knuthPlass/index.d.ts.map +1 -0
  29. package/dist/knuthPlass/index.js +11 -0
  30. package/dist/knuthPlass/index.js.map +1 -0
  31. package/dist/knuthPlass/pretextAdapter.d.ts +12 -0
  32. package/dist/knuthPlass/pretextAdapter.d.ts.map +1 -0
  33. package/dist/knuthPlass/pretextAdapter.js +178 -0
  34. package/dist/knuthPlass/pretextAdapter.js.map +1 -0
  35. package/dist/knuthPlass/richAdapter.d.ts +26 -0
  36. package/dist/knuthPlass/richAdapter.d.ts.map +1 -0
  37. package/dist/knuthPlass/richAdapter.js +189 -0
  38. package/dist/knuthPlass/richAdapter.js.map +1 -0
  39. package/dist/{knuthPlass.d.ts → knuthPlass/types.d.ts} +1 -31
  40. package/dist/knuthPlass/types.d.ts.map +1 -0
  41. package/dist/knuthPlass/types.js +5 -0
  42. package/dist/knuthPlass/types.js.map +1 -0
  43. package/dist/knuthPlass/utils.d.ts +2 -0
  44. package/dist/knuthPlass/utils.d.ts.map +1 -0
  45. package/dist/knuthPlass/utils.js +4 -0
  46. package/dist/knuthPlass/utils.js.map +1 -0
  47. package/dist/math/rasterCache.d.ts.map +1 -1
  48. package/dist/math/rasterCache.js +29 -6
  49. package/dist/math/rasterCache.js.map +1 -1
  50. package/dist/measure/cache.d.ts +5 -0
  51. package/dist/measure/cache.d.ts.map +1 -0
  52. package/dist/measure/cache.js +38 -0
  53. package/dist/measure/cache.js.map +1 -0
  54. package/dist/measure/canvas.d.ts +8 -0
  55. package/dist/measure/canvas.d.ts.map +1 -0
  56. package/dist/measure/canvas.js +30 -0
  57. package/dist/measure/canvas.js.map +1 -0
  58. package/dist/measure/font.d.ts +19 -0
  59. package/dist/measure/font.d.ts.map +1 -0
  60. package/dist/measure/font.js +34 -0
  61. package/dist/measure/font.js.map +1 -0
  62. package/dist/measure/index.d.ts +7 -0
  63. package/dist/measure/index.d.ts.map +1 -0
  64. package/dist/measure/index.js +6 -0
  65. package/dist/measure/index.js.map +1 -0
  66. package/dist/measure/plain.d.ts +13 -0
  67. package/dist/measure/plain.d.ts.map +1 -0
  68. package/dist/measure/plain.js +167 -0
  69. package/dist/measure/plain.js.map +1 -0
  70. package/dist/measure/rich.d.ts +25 -0
  71. package/dist/measure/rich.d.ts.map +1 -0
  72. package/dist/measure/rich.js +246 -0
  73. package/dist/measure/rich.js.map +1 -0
  74. package/dist/measure/types.d.ts +28 -0
  75. package/dist/measure/types.d.ts.map +1 -0
  76. package/dist/measure/types.js +2 -0
  77. package/dist/measure/types.js.map +1 -0
  78. package/dist/parse/blockParser.d.ts +28 -0
  79. package/dist/parse/blockParser.d.ts.map +1 -0
  80. package/dist/parse/blockParser.js +302 -0
  81. package/dist/parse/blockParser.js.map +1 -0
  82. package/dist/parse/index.d.ts +4 -0
  83. package/dist/parse/index.d.ts.map +1 -0
  84. package/dist/parse/index.js +3 -0
  85. package/dist/parse/index.js.map +1 -0
  86. package/dist/parse/inlineFormatting.d.ts +12 -0
  87. package/dist/parse/inlineFormatting.d.ts.map +1 -0
  88. package/dist/parse/inlineFormatting.js +90 -0
  89. package/dist/parse/inlineFormatting.js.map +1 -0
  90. package/dist/parse/inlineMath.d.ts +29 -0
  91. package/dist/parse/inlineMath.d.ts.map +1 -0
  92. package/dist/parse/inlineMath.js +141 -0
  93. package/dist/parse/inlineMath.js.map +1 -0
  94. package/dist/parse/sourceMapping.d.ts +12 -0
  95. package/dist/parse/sourceMapping.d.ts.map +1 -0
  96. package/dist/parse/sourceMapping.js +130 -0
  97. package/dist/parse/sourceMapping.js.map +1 -0
  98. package/dist/{parse.d.ts → parse/types.d.ts} +2 -25
  99. package/dist/parse/types.d.ts.map +1 -0
  100. package/dist/parse/types.js +2 -0
  101. package/dist/parse/types.js.map +1 -0
  102. package/dist/pipeline/build.d.ts +13 -1
  103. package/dist/pipeline/build.d.ts.map +1 -1
  104. package/dist/pipeline/build.js +43 -277
  105. package/dist/pipeline/build.js.map +1 -1
  106. package/dist/pipeline/buildBlockKind.d.ts +33 -0
  107. package/dist/pipeline/buildBlockKind.d.ts.map +1 -0
  108. package/dist/pipeline/buildBlockKind.js +82 -0
  109. package/dist/pipeline/buildBlockKind.js.map +1 -0
  110. package/dist/pipeline/buildHelpers.d.ts +47 -0
  111. package/dist/pipeline/buildHelpers.d.ts.map +1 -0
  112. package/dist/pipeline/buildHelpers.js +169 -0
  113. package/dist/pipeline/buildHelpers.js.map +1 -0
  114. package/dist/pipeline/buildMeasurement.d.ts +27 -0
  115. package/dist/pipeline/buildMeasurement.d.ts.map +1 -0
  116. package/dist/pipeline/buildMeasurement.js +49 -0
  117. package/dist/pipeline/buildMeasurement.js.map +1 -0
  118. package/dist/pipeline/index.d.ts +2 -1
  119. package/dist/pipeline/index.d.ts.map +1 -1
  120. package/dist/pipeline/index.js +1 -1
  121. package/dist/pipeline/index.js.map +1 -1
  122. package/dist/worker/client.d.ts +21 -0
  123. package/dist/worker/client.d.ts.map +1 -0
  124. package/dist/worker/client.js +98 -0
  125. package/dist/worker/client.js.map +1 -0
  126. package/dist/worker/layout.worker.d.ts +2 -0
  127. package/dist/worker/layout.worker.d.ts.map +1 -0
  128. package/dist/worker/layout.worker.js +121 -0
  129. package/dist/worker/layout.worker.js.map +1 -0
  130. package/dist/worker/protocol.d.ts +43 -0
  131. package/dist/worker/protocol.d.ts.map +1 -0
  132. package/dist/worker/protocol.js +2 -0
  133. package/dist/worker/protocol.js.map +1 -0
  134. package/package.json +9 -1
  135. package/dist/canvas-backend.d.ts.map +0 -1
  136. package/dist/canvas-backend.js +0 -370
  137. package/dist/canvas-backend.js.map +0 -1
  138. package/dist/knuthPlass.d.ts.map +0 -1
  139. package/dist/knuthPlass.js +0 -665
  140. package/dist/knuthPlass.js.map +0 -1
  141. package/dist/measure.d.ts +0 -61
  142. package/dist/measure.d.ts.map +0 -1
  143. package/dist/measure.js +0 -512
  144. package/dist/measure.js.map +0 -1
  145. package/dist/parse.d.ts.map +0 -1
  146. package/dist/parse.js +0 -653
  147. package/dist/parse.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Resolve a parsed markdown block into its placement-ready metadata:
3
+ * style, VDT type, heading/list attributes, and a `contentBlock` that may
4
+ * differ from `rawBlock` when a heading numbering prefix has been prepended.
5
+ */
6
+ import type { ContentBlock, ListKind } from '../parse';
7
+ import type { ResolvedConfig, VDTBlock } from '../vdt';
8
+ import type { BlockStyle } from './styles';
9
+ import type { ListBulletStyle, OrderedListMetrics } from './lists';
10
+ export interface BlockKind {
11
+ style: BlockStyle;
12
+ vdtType: VDTBlock['type'];
13
+ headingLevel?: number;
14
+ numberPrefix?: string;
15
+ contentBlock: ContentBlock;
16
+ listBullet?: ListBulletStyle;
17
+ listDepth?: number;
18
+ listKind?: ListKind;
19
+ bulletXOffsetInColumn: number;
20
+ strikethroughText: boolean;
21
+ }
22
+ export interface BlockKindContext {
23
+ resolved: ResolvedConfig;
24
+ bodyStyle: BlockStyle;
25
+ blockquoteStyle: BlockStyle;
26
+ headingPrefixes: Array<string | undefined>;
27
+ blockIdx: number;
28
+ listLevelIndentsPx: number[];
29
+ orderedLevelIndentsPx: number[];
30
+ orderedMetrics: OrderedListMetrics;
31
+ }
32
+ export declare function resolveBlockKind(rawBlock: ContentBlock, ctx: BlockKindContext): BlockKind;
33
+ //# sourceMappingURL=buildBlockKind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildBlockKind.d.ts","sourceRoot":"","sources":["../../src/pipeline/buildBlockKind.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAoB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMrF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,UAAU,CAAC;IACtB,eAAe,EAAE,UAAU,CAAC;IAC5B,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,gBAAgB,GACpB,SAAS,CAiFX"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Resolve a parsed markdown block into its placement-ready metadata:
3
+ * style, VDT type, heading/list attributes, and a `contentBlock` that may
4
+ * differ from `rawBlock` when a heading numbering prefix has been prepended.
5
+ */
6
+ import { resolveHeadingStyle, resolveMathDisplayStyle } from './styles';
7
+ import { resolveOrderedListItemStyle, resolveUnorderedListItemStyle, } from './lists';
8
+ export function resolveBlockKind(rawBlock, ctx) {
9
+ const { resolved, bodyStyle, blockquoteStyle, headingPrefixes, blockIdx, listLevelIndentsPx, orderedLevelIndentsPx, orderedMetrics } = ctx;
10
+ switch (rawBlock.type) {
11
+ case 'heading': {
12
+ const style = resolveHeadingStyle(rawBlock.level ?? 1, resolved);
13
+ const numberPrefix = headingPrefixes[blockIdx];
14
+ let contentBlock = rawBlock;
15
+ if (numberPrefix) {
16
+ const sep = `${numberPrefix} `;
17
+ const firstSpan = rawBlock.spans[0];
18
+ const newSpans = firstSpan
19
+ ? [{ text: sep + firstSpan.text, bold: firstSpan.bold, italic: firstSpan.italic }, ...rawBlock.spans.slice(1)]
20
+ : [{ text: sep, bold: false, italic: false }];
21
+ contentBlock = { ...rawBlock, text: sep + rawBlock.text, spans: newSpans };
22
+ }
23
+ return {
24
+ style,
25
+ vdtType: 'heading',
26
+ headingLevel: rawBlock.level,
27
+ numberPrefix,
28
+ contentBlock,
29
+ bulletXOffsetInColumn: 0,
30
+ strikethroughText: false,
31
+ };
32
+ }
33
+ case 'blockquote':
34
+ return {
35
+ style: blockquoteStyle,
36
+ vdtType: 'blockquote',
37
+ contentBlock: rawBlock,
38
+ bulletXOffsetInColumn: 0,
39
+ strikethroughText: false,
40
+ };
41
+ case 'mathDisplay':
42
+ return {
43
+ style: resolveMathDisplayStyle(resolved),
44
+ vdtType: 'mathDisplay',
45
+ contentBlock: rawBlock,
46
+ bulletXOffsetInColumn: 0,
47
+ strikethroughText: false,
48
+ };
49
+ case 'listItem': {
50
+ const depth = rawBlock.depth ?? 1;
51
+ const kind = rawBlock.listKind ?? 'unordered';
52
+ let resolvedList;
53
+ if (kind === 'ordered') {
54
+ const metric = orderedMetrics.perBlock.get(blockIdx) ??
55
+ { numberText: '', numberWidthPx: 0, maxNumberWidthPx: 0 };
56
+ resolvedList = resolveOrderedListItemStyle(depth, resolved, orderedLevelIndentsPx, metric);
57
+ }
58
+ else {
59
+ resolvedList = resolveUnorderedListItemStyle(depth, resolved, listLevelIndentsPx, rawBlock.checked ?? false, kind === 'task');
60
+ }
61
+ return {
62
+ style: resolvedList.text,
63
+ vdtType: 'listItem',
64
+ contentBlock: rawBlock,
65
+ listBullet: resolvedList.bullet,
66
+ listDepth: depth,
67
+ listKind: kind,
68
+ bulletXOffsetInColumn: resolvedList.bulletXOffsetInColumn,
69
+ strikethroughText: resolvedList.strikethroughText,
70
+ };
71
+ }
72
+ default:
73
+ return {
74
+ style: bodyStyle,
75
+ vdtType: 'paragraph',
76
+ contentBlock: rawBlock,
77
+ bulletXOffsetInColumn: 0,
78
+ strikethroughText: false,
79
+ };
80
+ }
81
+ }
82
+ //# sourceMappingURL=buildBlockKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildBlockKind.js","sourceRoot":"","sources":["../../src/pipeline/buildBlockKind.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Pure helpers used by `buildDocument`. Extracted here purely to keep the
3
+ * main pipeline function readable; no behavior changes.
4
+ */
5
+ import type { ContentBlock } from '../parse';
6
+ import { type VDTBlock, type BoundingBox, type ResolvedConfig } from '../vdt';
7
+ import type { BlockStyle } from './styles';
8
+ import type { MeasuredBlock } from '../measure';
9
+ export interface PageMetrics {
10
+ trimWidthPx: number;
11
+ trimHeightPx: number;
12
+ pageWidthPx: number;
13
+ pageHeightPx: number;
14
+ trimOffset: number;
15
+ contentArea: BoundingBox;
16
+ }
17
+ export declare function computePageMetrics(resolved: ResolvedConfig): PageMetrics;
18
+ export declare function applyStyleAttrs(blk: VDTBlock, style: BlockStyle): void;
19
+ /**
20
+ * Resolve inline math in a parsed block: calls `renderMath` on every `span.math`
21
+ * and attaches `mathRender` metadata. When math is disabled, drops the math
22
+ * metadata so spans fall back to the raw TeX (visible as literal `$...$`).
23
+ */
24
+ export declare function enrichMathSpans(contentBlock: ContentBlock, style: BlockStyle, resolved: ResolvedConfig): ContentBlock;
25
+ export interface MeasureViewport {
26
+ measureMaxWidth: number;
27
+ lineXShift: number;
28
+ measureFirstLineIndent: number;
29
+ measureHangingIndent: boolean;
30
+ }
31
+ /** Compute measurement viewport: list items reserve horizontal space for indent + bullet + gap. */
32
+ export declare function computeMeasureViewport(columnWidth: number, style: BlockStyle, listBullet: import('./lists').ListBulletStyle | undefined): MeasureViewport;
33
+ /**
34
+ * Stamps `plainStart` / `plainEnd` / `sourceStart` / `sourceEnd` on every line
35
+ * of `measured`, accounting for any heading-number prefix that prepends chars
36
+ * with no source.
37
+ */
38
+ export declare function stampSourceRanges(measured: MeasuredBlock, rawBlock: ContentBlock, contentBlock: ContentBlock, bodyOffset: number): {
39
+ prefixLen: number;
40
+ absoluteSourceMap: number[];
41
+ };
42
+ export declare function rollbackTrailingBlocks(curCol: {
43
+ blocks: VDTBlock[];
44
+ availableHeight: number;
45
+ bbox: BoundingBox;
46
+ }, docBlocks: VDTBlock[], predicate: (b: VDTBlock) => boolean): number;
47
+ //# sourceMappingURL=buildHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildHelpers.d.ts","sourceRoot":"","sources":["../../src/pipeline/buildHelpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,WAAW,CA8BxE;AAMD,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAMtE;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,cAAc,GACvB,YAAY,CAmBd;AAMD,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,mGAAmG;AACnG,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,OAAO,SAAS,EAAE,eAAe,GAAG,SAAS,GACxD,eAAe,CAsBjB;AAMD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAyCpD;AAQD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,EAC1E,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,OAAO,GAClC,MAAM,CAcR"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Pure helpers used by `buildDocument`. Extracted here purely to keep the
3
+ * main pipeline function readable; no behavior changes.
4
+ */
5
+ import { dimensionToPx } from '../units';
6
+ import { createBoundingBox, } from '../vdt';
7
+ import { renderMath, isMathReady } from '../math';
8
+ export function computePageMetrics(resolved) {
9
+ const dpi = resolved.page.dpi;
10
+ const trimWidthPx = dimensionToPx(resolved.page.width, dpi);
11
+ const trimHeightPx = dimensionToPx(resolved.page.height, dpi);
12
+ // Cut lines expansion: canvas grows to fit bleed + mark offset + mark length
13
+ let trimOffset = 0;
14
+ if (resolved.page.cutLines.enabled) {
15
+ const bleedPx = dimensionToPx(resolved.page.cutLines.bleed, dpi);
16
+ const markOffsetPx = dimensionToPx(resolved.page.cutLines.markOffset, dpi);
17
+ const markLengthPx = dimensionToPx(resolved.page.cutLines.markLength, dpi);
18
+ trimOffset = bleedPx + markOffsetPx + markLengthPx;
19
+ }
20
+ const pageWidthPx = trimWidthPx + trimOffset * 2;
21
+ const pageHeightPx = trimHeightPx + trimOffset * 2;
22
+ const marginTop = dimensionToPx(resolved.page.margins.top, dpi);
23
+ const marginBottom = dimensionToPx(resolved.page.margins.bottom, dpi);
24
+ const marginLeft = dimensionToPx(resolved.page.margins.left, dpi);
25
+ const marginRight = dimensionToPx(resolved.page.margins.right, dpi);
26
+ const contentArea = createBoundingBox(marginLeft + trimOffset, marginTop + trimOffset, trimWidthPx - marginLeft - marginRight, trimHeightPx - marginTop - marginBottom);
27
+ return { trimWidthPx, trimHeightPx, pageWidthPx, pageHeightPx, trimOffset, contentArea };
28
+ }
29
+ // ---------------------------------------------------------------------------
30
+ // Style attribute copy: every VDTBlock mirrors a subset of BlockStyle fields.
31
+ // ---------------------------------------------------------------------------
32
+ export function applyStyleAttrs(blk, style) {
33
+ if (style.boldFontString)
34
+ blk.boldFontString = style.boldFontString;
35
+ if (style.italicFontString)
36
+ blk.italicFontString = style.italicFontString;
37
+ if (style.boldItalicFontString)
38
+ blk.boldItalicFontString = style.boldItalicFontString;
39
+ if (style.boldColor)
40
+ blk.boldColor = style.boldColor;
41
+ if (style.italicColor)
42
+ blk.italicColor = style.italicColor;
43
+ }
44
+ // ---------------------------------------------------------------------------
45
+ // Math-span enrichment
46
+ // ---------------------------------------------------------------------------
47
+ /**
48
+ * Resolve inline math in a parsed block: calls `renderMath` on every `span.math`
49
+ * and attaches `mathRender` metadata. When math is disabled, drops the math
50
+ * metadata so spans fall back to the raw TeX (visible as literal `$...$`).
51
+ */
52
+ export function enrichMathSpans(contentBlock, style, resolved) {
53
+ if (!contentBlock.spans.some((s) => s.math))
54
+ return contentBlock;
55
+ const mathEnabled = resolved.math.enabled;
56
+ const mathFontSizePx = style.fontSizePx * resolved.math.fontSizeScale;
57
+ const mathColor = resolved.math.color?.hex ?? style.color;
58
+ const enrichedSpans = contentBlock.spans.map((s) => {
59
+ if (!s.math)
60
+ return s;
61
+ if (!mathEnabled) {
62
+ return { text: `$${s.math.tex}$`, bold: s.bold, italic: s.italic };
63
+ }
64
+ const render = isMathReady()
65
+ ? renderMath(s.math.tex, false, mathFontSizePx, { lineBoxPx: style.lineHeightPx, color: mathColor })
66
+ : undefined;
67
+ return { ...s, mathRender: render };
68
+ });
69
+ return { ...contentBlock, spans: enrichedSpans };
70
+ }
71
+ /** Compute measurement viewport: list items reserve horizontal space for indent + bullet + gap. */
72
+ export function computeMeasureViewport(columnWidth, style, listBullet) {
73
+ let measureMaxWidth = columnWidth;
74
+ let lineXShift = 0;
75
+ let measureFirstLineIndent = style.firstLineIndentPx;
76
+ let measureHangingIndent = style.hangingIndent;
77
+ if (listBullet) {
78
+ const textGap = listBullet.bulletWidthPx + listBullet.gapPx;
79
+ if (listBullet.hangingIndent) {
80
+ measureMaxWidth = Math.max(1, columnWidth - listBullet.indentPx - textGap);
81
+ lineXShift = listBullet.indentPx + textGap;
82
+ measureFirstLineIndent = 0;
83
+ measureHangingIndent = false;
84
+ }
85
+ else {
86
+ measureMaxWidth = Math.max(1, columnWidth - listBullet.indentPx);
87
+ lineXShift = listBullet.indentPx;
88
+ measureFirstLineIndent = textGap;
89
+ measureHangingIndent = false;
90
+ }
91
+ }
92
+ return { measureMaxWidth, lineXShift, measureFirstLineIndent, measureHangingIndent };
93
+ }
94
+ // ---------------------------------------------------------------------------
95
+ // Per-line source-range mapping
96
+ // ---------------------------------------------------------------------------
97
+ /**
98
+ * Stamps `plainStart` / `plainEnd` / `sourceStart` / `sourceEnd` on every line
99
+ * of `measured`, accounting for any heading-number prefix that prepends chars
100
+ * with no source.
101
+ */
102
+ export function stampSourceRanges(measured, rawBlock, contentBlock, bodyOffset) {
103
+ const blockSrcStart = rawBlock.sourceStart + bodyOffset;
104
+ const blockSrcEnd = rawBlock.sourceEnd + bodyOffset;
105
+ const srcMap = rawBlock.sourceMap;
106
+ const prefixLen = contentBlock.text.length - rawBlock.text.length;
107
+ const plainToSrc = (p) => {
108
+ const idx = p - prefixLen;
109
+ if (idx <= 0)
110
+ return blockSrcStart;
111
+ if (idx >= srcMap.length)
112
+ return blockSrcEnd;
113
+ return srcMap[idx] + bodyOffset;
114
+ };
115
+ let cumPlain = 0;
116
+ const lastLineIdx = measured.lines.length - 1;
117
+ for (let li = 0; li < measured.lines.length; li++) {
118
+ const line = measured.lines[li];
119
+ // If segments are present, prefer their aggregate text length for a more
120
+ // accurate plain-char count (excludes trailing hyphen for hyphenated lines).
121
+ let lineLen;
122
+ if (line.segments && line.segments.length > 0) {
123
+ lineLen = line.segments.reduce((s, seg) => s + seg.text.length, 0);
124
+ if (line.hyphenated) {
125
+ const last = line.segments[line.segments.length - 1];
126
+ if (last.text.endsWith('-'))
127
+ lineLen -= 1;
128
+ }
129
+ }
130
+ else {
131
+ lineLen = line.text.length - (line.hyphenated ? 1 : 0);
132
+ }
133
+ line.plainStart = cumPlain;
134
+ line.plainEnd = cumPlain + lineLen;
135
+ // Advance past the separator space that was consumed to break the line
136
+ // (skip when hyphenated — break was at a soft hyphen — or on the last line).
137
+ const skipSeparator = !line.hyphenated && li !== lastLineIdx ? 1 : 0;
138
+ cumPlain = line.plainEnd + skipSeparator;
139
+ line.sourceStart = plainToSrc(line.plainStart);
140
+ line.sourceEnd = plainToSrc(line.plainEnd);
141
+ }
142
+ const absoluteSourceMap = srcMap.map((o) => o + bodyOffset);
143
+ return { prefixLen, absoluteSourceMap };
144
+ }
145
+ // ---------------------------------------------------------------------------
146
+ // Column rollback helper: remove the tail of `curCol.blocks` and also drop
147
+ // them from `doc.blocks`, refunding `availableHeight`. Returns the count
148
+ // actually popped so callers can compute a `blockIdx` rewind.
149
+ // ---------------------------------------------------------------------------
150
+ export function rollbackTrailingBlocks(curCol, docBlocks, predicate) {
151
+ let count = 0;
152
+ for (let j = curCol.blocks.length - 1; j >= 0; j--) {
153
+ if (predicate(curCol.blocks[j]))
154
+ count++;
155
+ else
156
+ break;
157
+ }
158
+ if (count === 0)
159
+ return 0;
160
+ const popped = curCol.blocks.splice(curCol.blocks.length - count);
161
+ for (const p of popped) {
162
+ const idx = docBlocks.indexOf(p);
163
+ if (idx !== -1)
164
+ docBlocks.splice(idx, 1);
165
+ curCol.availableHeight += p.bbox.height;
166
+ }
167
+ return count;
168
+ }
169
+ //# sourceMappingURL=buildHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildHelpers.js","sourceRoot":"","sources":["../../src/pipeline/buildHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Measurement invocation for a single block — dispatches between plain/rich
3
+ * text runs and the `mathDisplay` bypass path that skips text layout entirely.
4
+ */
5
+ import type { ContentBlock } from '../parse';
6
+ import type { VDTBlock } from '../vdt';
7
+ import type { BlockStyle } from './styles';
8
+ import type { MeasuredBlock, MeasurementCache } from '../measure';
9
+ import { measureBlock } from '../measure';
10
+ import { renderMath } from '../math';
11
+ export interface MeasurementInput {
12
+ vdtType: VDTBlock['type'];
13
+ rawBlock: ContentBlock;
14
+ contentBlock: ContentBlock;
15
+ style: BlockStyle;
16
+ measureMaxWidth: number;
17
+ measureOptions: Parameters<typeof measureBlock>[4];
18
+ mathEnabled: boolean;
19
+ useRich: boolean;
20
+ cache?: MeasurementCache;
21
+ }
22
+ export interface MeasurementResult {
23
+ measured: MeasuredBlock;
24
+ mathDisplayRender?: ReturnType<typeof renderMath>;
25
+ }
26
+ export declare function runMeasurement(input: MeasurementInput): MeasurementResult;
27
+ //# sourceMappingURL=buildMeasurement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildMeasurement.d.ts","sourceRoot":"","sources":["../../src/pipeline/buildMeasurement.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAgE,MAAM,YAAY,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACnD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA+CzE"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Measurement invocation for a single block — dispatches between plain/rich
3
+ * text runs and the `mathDisplay` bypass path that skips text layout entirely.
4
+ */
5
+ import { measureBlock, measureRichBlock, cachedMeasureBlock, cachedMeasureRichBlock } from '../measure';
6
+ import { renderMath } from '../math';
7
+ export function runMeasurement(input) {
8
+ const { vdtType, rawBlock, contentBlock, style, measureMaxWidth, measureOptions, mathEnabled, useRich, cache } = input;
9
+ // Math display block: bypass text layout entirely. Produce a single
10
+ // VDTLine whose bbox is the math render's pixel box, centred later.
11
+ if (vdtType === 'mathDisplay') {
12
+ const tex = rawBlock.tex ?? '';
13
+ if (!mathEnabled) {
14
+ // Fallback: render the literal TeX as a paragraph-like run.
15
+ const measured = useRich
16
+ ? measureRichBlock([{ text: `$$${tex}$$`, bold: false, italic: false }], style.fontString, style.fontString, style.fontString, style.fontString, measureMaxWidth, style.lineHeightPx, measureOptions)
17
+ : measureBlock(`$$${tex}$$`, style.fontString, measureMaxWidth, style.lineHeightPx, measureOptions);
18
+ return { measured };
19
+ }
20
+ // `renderMath` internally returns a cheap placeholder when MathJax
21
+ // isn't initialised yet — no need to gate the call here. When the
22
+ // real engine lands later, `CanvasPreview` bumps `resizeKey` and the
23
+ // pipeline rebuilds with the genuine render.
24
+ const render = renderMath(tex, true, style.fontSizePx, { color: style.color });
25
+ const width = Math.min(render.widthPx, measureMaxWidth);
26
+ const height = render.heightPx;
27
+ const measured = {
28
+ lines: [{
29
+ text: '',
30
+ bbox: { x: 0, y: 0, width, height },
31
+ baseline: render.ascentPx,
32
+ hyphenated: false,
33
+ segments: [{ kind: 'math', text: '\uFFFC', width, mathRender: render }],
34
+ isLastLine: true,
35
+ }],
36
+ totalHeight: height,
37
+ };
38
+ return { measured, mathDisplayRender: render };
39
+ }
40
+ const measured = cache
41
+ ? (useRich
42
+ ? cachedMeasureRichBlock(contentBlock.spans, style.fontString, style.boldFontString, style.italicFontString, style.boldItalicFontString, measureMaxWidth, style.lineHeightPx, measureOptions, cache)
43
+ : cachedMeasureBlock(contentBlock.text, style.fontString, measureMaxWidth, style.lineHeightPx, measureOptions, cache))
44
+ : (useRich
45
+ ? measureRichBlock(contentBlock.spans, style.fontString, style.boldFontString, style.italicFontString, style.boldItalicFontString, measureMaxWidth, style.lineHeightPx, measureOptions)
46
+ : measureBlock(contentBlock.text, style.fontString, measureMaxWidth, style.lineHeightPx, measureOptions));
47
+ return { measured };
48
+ }
49
+ //# sourceMappingURL=buildMeasurement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildMeasurement.js","sourceRoot":"","sources":["../../src/pipeline/buildMeasurement.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export { buildDocument } from './build';
1
+ export { buildDocument, BuildCancelledError } from './build';
2
+ export type { BuildDocumentOptions } from './build';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
@@ -1,2 +1,2 @@
1
- export { buildDocument } from './build';
1
+ export { buildDocument, BuildCancelledError } from './build';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { PostextContent, PostextConfig } from '../types';
2
+ import type { VDTDocument } from '../vdt';
3
+ import type { FontPayload } from './protocol';
4
+ export type { FontPayload } from './protocol';
5
+ export interface BuildOptions {
6
+ signal?: AbortSignal;
7
+ }
8
+ export interface LayoutWorkerHandle {
9
+ registerFonts(faces: FontPayload[]): Promise<void>;
10
+ build(content: PostextContent, config?: PostextConfig, opts?: BuildOptions): Promise<VDTDocument>;
11
+ dispose(): void;
12
+ }
13
+ export interface CreateLayoutWorkerOptions {
14
+ /**
15
+ * Allows consumers to provide their own Worker instance. Useful for build
16
+ * tooling that needs to control the worker URL resolution.
17
+ */
18
+ worker?: Worker;
19
+ }
20
+ export declare function createLayoutWorker(options?: CreateLayoutWorkerOptions): LayoutWorkerHandle;
21
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +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,WAAW,EAAmC,MAAM,YAAY,CAAC;AAE/E,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,KAAK,EAAE,WAAW,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,OAAO,IAAI,IAAI,CAAC;CACjB;AAQD,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,CAAC,EAAE,yBAAyB,GAClC,kBAAkB,CA+FpB"}