postext 0.3.17 → 0.3.19

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 (120) hide show
  1. package/dist/__tests__/columnBalancing.test.d.ts +2 -0
  2. package/dist/__tests__/columnBalancing.test.d.ts.map +1 -0
  3. package/dist/__tests__/columnBalancing.test.js +372 -0
  4. package/dist/__tests__/columnBalancing.test.js.map +1 -0
  5. package/dist/__tests__/exports.test.js +6 -0
  6. package/dist/__tests__/exports.test.js.map +1 -1
  7. package/dist/__tests__/knuthPlass.test.js +60 -0
  8. package/dist/__tests__/knuthPlass.test.js.map +1 -1
  9. package/dist/__tests__/pipeline/floatPlacement.test.js +121 -0
  10. package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
  11. package/dist/__tests__/singleInk.test.d.ts +2 -0
  12. package/dist/__tests__/singleInk.test.d.ts.map +1 -0
  13. package/dist/__tests__/singleInk.test.js +42 -0
  14. package/dist/__tests__/singleInk.test.js.map +1 -0
  15. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  16. package/dist/canvas-backend/blockRender.js +93 -75
  17. package/dist/canvas-backend/blockRender.js.map +1 -1
  18. package/dist/canvas-backend/decorations.d.ts +4 -1
  19. package/dist/canvas-backend/decorations.d.ts.map +1 -1
  20. package/dist/canvas-backend/decorations.js +14 -6
  21. package/dist/canvas-backend/decorations.js.map +1 -1
  22. package/dist/canvas-backend/headerFooter.d.ts +0 -1
  23. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  24. package/dist/canvas-backend/headerFooter.js +0 -1
  25. package/dist/canvas-backend/headerFooter.js.map +1 -1
  26. package/dist/canvas-backend/index.d.ts.map +1 -1
  27. package/dist/canvas-backend/index.js +9 -10
  28. package/dist/canvas-backend/index.js.map +1 -1
  29. package/dist/defaults/diagramStyle.d.ts +5 -0
  30. package/dist/defaults/diagramStyle.d.ts.map +1 -0
  31. package/dist/defaults/diagramStyle.js +29 -0
  32. package/dist/defaults/diagramStyle.js.map +1 -0
  33. package/dist/defaults/headings.d.ts +7 -0
  34. package/dist/defaults/headings.d.ts.map +1 -1
  35. package/dist/defaults/headings.js +57 -3
  36. package/dist/defaults/headings.js.map +1 -1
  37. package/dist/defaults/index.d.ts +2 -1
  38. package/dist/defaults/index.d.ts.map +1 -1
  39. package/dist/defaults/index.js +10 -1
  40. package/dist/defaults/index.js.map +1 -1
  41. package/dist/defaults/shared.d.ts.map +1 -1
  42. package/dist/defaults/shared.js +10 -0
  43. package/dist/defaults/shared.js.map +1 -1
  44. package/dist/html-backend.d.ts +6 -0
  45. package/dist/html-backend.d.ts.map +1 -1
  46. package/dist/html-backend.js +183 -9
  47. package/dist/html-backend.js.map +1 -1
  48. package/dist/index.d.ts +4 -2
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +3 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
  53. package/dist/knuthPlass/breakpoints.js +75 -98
  54. package/dist/knuthPlass/breakpoints.js.map +1 -1
  55. package/dist/knuthPlass/types.d.ts +7 -0
  56. package/dist/knuthPlass/types.d.ts.map +1 -1
  57. package/dist/measure/cache.js +2 -2
  58. package/dist/measure/cache.js.map +1 -1
  59. package/dist/measure/canvas.d.ts +3 -0
  60. package/dist/measure/canvas.d.ts.map +1 -1
  61. package/dist/measure/canvas.js +40 -2
  62. package/dist/measure/canvas.js.map +1 -1
  63. package/dist/measure/font.d.ts +3 -2
  64. package/dist/measure/font.d.ts.map +1 -1
  65. package/dist/measure/font.js +5 -2
  66. package/dist/measure/font.js.map +1 -1
  67. package/dist/measure/plain.d.ts.map +1 -1
  68. package/dist/measure/plain.js +15 -7
  69. package/dist/measure/plain.js.map +1 -1
  70. package/dist/measure/rich.d.ts.map +1 -1
  71. package/dist/measure/rich.js +12 -14
  72. package/dist/measure/rich.js.map +1 -1
  73. package/dist/measure/types.d.ts +4 -0
  74. package/dist/measure/types.d.ts.map +1 -1
  75. package/dist/measure/types.js.map +1 -1
  76. package/dist/parse/injectSpans.d.ts +9 -0
  77. package/dist/parse/injectSpans.d.ts.map +1 -0
  78. package/dist/parse/injectSpans.js +35 -0
  79. package/dist/parse/injectSpans.js.map +1 -0
  80. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  81. package/dist/parse/inlineFormatting.js +9 -35
  82. package/dist/parse/inlineFormatting.js.map +1 -1
  83. package/dist/parse/inlineMath.d.ts.map +1 -1
  84. package/dist/parse/inlineMath.js +26 -43
  85. package/dist/parse/inlineMath.js.map +1 -1
  86. package/dist/parse/sourceMapping.d.ts.map +1 -1
  87. package/dist/parse/sourceMapping.js +15 -8
  88. package/dist/parse/sourceMapping.js.map +1 -1
  89. package/dist/pipeline/build.d.ts.map +1 -1
  90. package/dist/pipeline/build.js +187 -37
  91. package/dist/pipeline/build.js.map +1 -1
  92. package/dist/pipeline/columnBalancing.d.ts +119 -0
  93. package/dist/pipeline/columnBalancing.d.ts.map +1 -0
  94. package/dist/pipeline/columnBalancing.js +219 -0
  95. package/dist/pipeline/columnBalancing.js.map +1 -0
  96. package/dist/pipeline/config.d.ts +4 -1
  97. package/dist/pipeline/config.d.ts.map +1 -1
  98. package/dist/pipeline/config.js +10 -1
  99. package/dist/pipeline/config.js.map +1 -1
  100. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  101. package/dist/pipeline/headerFooter.js +7 -5
  102. package/dist/pipeline/headerFooter.js.map +1 -1
  103. package/dist/pipeline/lists.d.ts +4 -9
  104. package/dist/pipeline/lists.d.ts.map +1 -1
  105. package/dist/pipeline/lists.js +24 -42
  106. package/dist/pipeline/lists.js.map +1 -1
  107. package/dist/pipeline/placeholders.d.ts.map +1 -1
  108. package/dist/pipeline/placeholders.js +18 -51
  109. package/dist/pipeline/placeholders.js.map +1 -1
  110. package/dist/svg/singleInk.d.ts +10 -0
  111. package/dist/svg/singleInk.d.ts.map +1 -0
  112. package/dist/svg/singleInk.js +86 -0
  113. package/dist/svg/singleInk.js.map +1 -0
  114. package/dist/types.d.ts +44 -0
  115. package/dist/types.d.ts.map +1 -1
  116. package/dist/vdt.d.ts +17 -1
  117. package/dist/vdt.d.ts.map +1 -1
  118. package/dist/vdt.js +34 -0
  119. package/dist/vdt.js.map +1 -1
  120. package/package.json +6 -6
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Vertical column balancing — editorial bottom alignment.
3
+ *
4
+ * Publishers expect every column of a page to start at the top of the page
5
+ * and end flush with the bottom. The placement pass naturally leaves short
6
+ * columns: orphan/widow rules, keep-with-next headings, and unsplittable
7
+ * groups all push content to the next column before the current one is full,
8
+ * leaving one or more empty grid lines at its bottom.
9
+ *
10
+ * The fix mirrors what a human compositor does: add whole baseline-grid
11
+ * lines to the top margin of the headings inside the short column, pushing
12
+ * the content below them down until the column ends on the last grid slot.
13
+ * Because the column break is element-bound (the element that opens the next
14
+ * column did not fit in the gap, so it still won't fit in a smaller one),
15
+ * shifting a column's tail down by at most its gap never moves content into
16
+ * the next column or page — the adjustment is local and exact.
17
+ *
18
+ * When a column needs several lines and holds several headings, the extra
19
+ * lines are distributed round-robin in importance order (lowest heading
20
+ * level first), so the most important heading always receives the largest
21
+ * share — e.g. 3 lines over an h2 and an h3 become +2 above the h2 and +1
22
+ * above the h3.
23
+ *
24
+ * When the column's headings cannot absorb the whole gap, two further
25
+ * levers apply in editorial priority order:
26
+ * - extra grid lines where a list/enumeration ends (space after a list
27
+ * reads naturally), capped per list end;
28
+ * - as a last resort, ONE paragraph of the column is re-broken one line
29
+ * looser (TeX \looseness=+1) via the Knuth-Plass `looseness` option —
30
+ * always within the configured `maxWordSpacing`, so type colour never
31
+ * exceeds the user's limit.
32
+ */
33
+ import type { VDTDocument } from '../vdt';
34
+ /** Maximum number of placement passes (initial + balancing retries). */
35
+ export declare const MAX_BALANCING_PASSES = 7;
36
+ export type BalanceCandidateKind = 'heading' | 'listEnd' | 'looseParagraph';
37
+ interface BalanceCandidate {
38
+ /** Stable content-block index keying the adjustment across passes. */
39
+ contentIndex: number;
40
+ kind: BalanceCandidateKind;
41
+ /** Heading level (1–6) for `kind: 'heading'`; 0 otherwise. */
42
+ level: number;
43
+ /** Reading-order tiebreak within the column. */
44
+ order: number;
45
+ /** Line count of the block — loose-paragraph preference (more lines =
46
+ * more glue = least visible loosening). */
47
+ lineCount: number;
48
+ }
49
+ interface ColumnGap {
50
+ pageIndex: number;
51
+ columnIndex: number;
52
+ /** Whole empty grid lines at the bottom of the column. */
53
+ gapLines: number;
54
+ /** Stretch points inside this column that can absorb extra lines. */
55
+ candidates: BalanceCandidate[];
56
+ }
57
+ /**
58
+ * Collect the bottom gaps of every balanceable column.
59
+ *
60
+ * A column is balanceable when content flowed past it into a later column of
61
+ * the same page, or — for the page's last non-empty column — when the page
62
+ * flows naturally into a later content page (no `:::pagebreak`, heading
63
+ * `breakBefore`, or chapter opener forced the break, and it is not the last
64
+ * content page: a short final column at the end of a chapter is legitimate).
65
+ *
66
+ * Eligible headings are heading blocks that are neither the first block of
67
+ * their column (their top margin is suppressed there so the column keeps
68
+ * starting at the page top) nor the last (space above a trailing heading
69
+ * would strand it at the column bottom). List-end points are the first
70
+ * non-list block after a run of list items — they may be last in column
71
+ * (pushing a trailing paragraph down by at most the gap is local: the
72
+ * element that opened the next column still does not fit). Loose-paragraph
73
+ * candidates are justified paragraphs wholly contained in the column (never
74
+ * split parts — loosening those would reshuffle lines across columns).
75
+ */
76
+ export declare function collectColumnGaps(doc: VDTDocument, forcedBreakPages: ReadonlySet<number>): ColumnGap[];
77
+ /** Total empty grid lines across all balanceable columns — the quantity the
78
+ * convergence loop minimises. */
79
+ export declare function totalGapLines(doc: VDTDocument, forcedBreakPages: ReadonlySet<number>): number;
80
+ /** Adjustments already applied in the layout being inspected. */
81
+ export interface BalanceState {
82
+ /** Extra spacing grid lines per content index (headings + list ends). */
83
+ lines: ReadonlyMap<number, number>;
84
+ /** Loose paragraphs: contentIndex → extra lines (always 1). */
85
+ loose: ReadonlyMap<number, number>;
86
+ }
87
+ export interface BalanceProposalOptions {
88
+ maxLinesPerHeading: number;
89
+ stretchAfterLists: boolean;
90
+ maxLinesAfterList: number;
91
+ looseParagraphs: boolean;
92
+ /** `bodyText.optimalLineBreaking` — the loose lever needs the K-P path. */
93
+ optimalLineBreaking: boolean;
94
+ /** Loose candidates that failed to gain a line in a previous attempt. */
95
+ failedLoose: ReadonlySet<number>;
96
+ }
97
+ export interface BalanceProposal {
98
+ /** Extra spacing grid lines per content index (cumulative across passes). */
99
+ lines: Map<number, number>;
100
+ /** Loose paragraphs per content index (cumulative across passes). */
101
+ loose: Map<number, number>;
102
+ /** Whether the proposal adds anything over `current`. */
103
+ changed: boolean;
104
+ }
105
+ /**
106
+ * Propose the next round of adjustments. Per column gap, levers apply in
107
+ * strict editorial priority order, on top of the already-applied `current`
108
+ * state:
109
+ * 1. headings — round-robin in importance order (level asc, then reading
110
+ * order), capped at `maxLinesPerHeading`;
111
+ * 2. list ends — round-robin in reading order, capped at
112
+ * `maxLinesAfterList`;
113
+ * 3. one loose paragraph per column (cumulative across passes) — the one
114
+ * with the most lines (most glue = least visible loosening), skipping
115
+ * candidates that already failed to gain a line.
116
+ */
117
+ export declare function proposeBalanceLines(doc: VDTDocument, forcedBreakPages: ReadonlySet<number>, current: BalanceState, options: BalanceProposalOptions): BalanceProposal;
118
+ export {};
119
+ //# sourceMappingURL=columnBalancing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnBalancing.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,QAAQ,CAAC;AAKnD,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAE5E,UAAU,gBAAgB;IACxB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd;gDAC4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,SAAS,EAAE,CA6Fb;AAED;kCACkC;AAClC,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,MAAM,CAER;AAED,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+DAA+D;IAC/D,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,2EAA2E;IAC3E,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yEAAyE;IACzE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,qEAAqE;IACrE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EACrC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,sBAAsB,GAC9B,eAAe,CA2DjB"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Vertical column balancing — editorial bottom alignment.
3
+ *
4
+ * Publishers expect every column of a page to start at the top of the page
5
+ * and end flush with the bottom. The placement pass naturally leaves short
6
+ * columns: orphan/widow rules, keep-with-next headings, and unsplittable
7
+ * groups all push content to the next column before the current one is full,
8
+ * leaving one or more empty grid lines at its bottom.
9
+ *
10
+ * The fix mirrors what a human compositor does: add whole baseline-grid
11
+ * lines to the top margin of the headings inside the short column, pushing
12
+ * the content below them down until the column ends on the last grid slot.
13
+ * Because the column break is element-bound (the element that opens the next
14
+ * column did not fit in the gap, so it still won't fit in a smaller one),
15
+ * shifting a column's tail down by at most its gap never moves content into
16
+ * the next column or page — the adjustment is local and exact.
17
+ *
18
+ * When a column needs several lines and holds several headings, the extra
19
+ * lines are distributed round-robin in importance order (lowest heading
20
+ * level first), so the most important heading always receives the largest
21
+ * share — e.g. 3 lines over an h2 and an h3 become +2 above the h2 and +1
22
+ * above the h3.
23
+ *
24
+ * When the column's headings cannot absorb the whole gap, two further
25
+ * levers apply in editorial priority order:
26
+ * - extra grid lines where a list/enumeration ends (space after a list
27
+ * reads naturally), capped per list end;
28
+ * - as a last resort, ONE paragraph of the column is re-broken one line
29
+ * looser (TeX \looseness=+1) via the Knuth-Plass `looseness` option —
30
+ * always within the configured `maxWordSpacing`, so type colour never
31
+ * exceeds the user's limit.
32
+ */
33
+ /** Tolerance against FP drift when converting free space to grid lines. */
34
+ const EPS = 0.01;
35
+ /** Maximum number of placement passes (initial + balancing retries). */
36
+ export const MAX_BALANCING_PASSES = 7;
37
+ function pageHasBodyContent(page) {
38
+ return page.columns.some((c) => c.blocks.length > 0);
39
+ }
40
+ /**
41
+ * Collect the bottom gaps of every balanceable column.
42
+ *
43
+ * A column is balanceable when content flowed past it into a later column of
44
+ * the same page, or — for the page's last non-empty column — when the page
45
+ * flows naturally into a later content page (no `:::pagebreak`, heading
46
+ * `breakBefore`, or chapter opener forced the break, and it is not the last
47
+ * content page: a short final column at the end of a chapter is legitimate).
48
+ *
49
+ * Eligible headings are heading blocks that are neither the first block of
50
+ * their column (their top margin is suppressed there so the column keeps
51
+ * starting at the page top) nor the last (space above a trailing heading
52
+ * would strand it at the column bottom). List-end points are the first
53
+ * non-list block after a run of list items — they may be last in column
54
+ * (pushing a trailing paragraph down by at most the gap is local: the
55
+ * element that opened the next column still does not fit). Loose-paragraph
56
+ * candidates are justified paragraphs wholly contained in the column (never
57
+ * split parts — loosening those would reshuffle lines across columns).
58
+ */
59
+ export function collectColumnGaps(doc, forcedBreakPages) {
60
+ let lastContentPage = -1;
61
+ for (let i = 0; i < doc.pages.length; i++) {
62
+ if (pageHasBodyContent(doc.pages[i]))
63
+ lastContentPage = i;
64
+ }
65
+ // Multiplicity of each content index across the whole document — a count
66
+ // above 1 means the block was split across columns/pages.
67
+ const partCount = new Map();
68
+ for (const page of doc.pages) {
69
+ for (const col of page.columns) {
70
+ for (const b of col.blocks) {
71
+ if (b.contentIndex !== undefined) {
72
+ partCount.set(b.contentIndex, (partCount.get(b.contentIndex) ?? 0) + 1);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ const gaps = [];
78
+ for (let p = 0; p <= lastContentPage; p++) {
79
+ const page = doc.pages[p];
80
+ if (page.blankForParity || page.blankForForce)
81
+ continue;
82
+ let lastNonEmpty = -1;
83
+ for (let c = 0; c < page.columns.length; c++) {
84
+ if (page.columns[c].blocks.length > 0)
85
+ lastNonEmpty = c;
86
+ }
87
+ if (lastNonEmpty === -1)
88
+ continue;
89
+ const pageFlowsOn = p < lastContentPage && !forcedBreakPages.has(p);
90
+ for (let c = 0; c <= lastNonEmpty; c++) {
91
+ const col = page.columns[c];
92
+ if (col.blocks.length === 0)
93
+ continue;
94
+ if (c === lastNonEmpty && !pageFlowsOn)
95
+ continue;
96
+ const gapLines = Math.floor((col.availableHeight + EPS) / doc.baselineGrid);
97
+ if (gapLines < 1)
98
+ continue;
99
+ const candidates = [];
100
+ for (let i = 0; i < col.blocks.length; i++) {
101
+ const b = col.blocks[i];
102
+ if (b.hidden || b.contentIndex === undefined)
103
+ continue;
104
+ if (b.type === 'heading'
105
+ && b.headingLevel !== undefined
106
+ && i >= 1
107
+ && i < col.blocks.length - 1) {
108
+ candidates.push({
109
+ contentIndex: b.contentIndex,
110
+ kind: 'heading',
111
+ level: b.headingLevel,
112
+ order: i,
113
+ lineCount: b.lines.length,
114
+ });
115
+ }
116
+ else if (i >= 1
117
+ && col.blocks[i - 1].type === 'listItem'
118
+ && b.type !== 'listItem'
119
+ && b.type !== 'heading' // a heading after a list is a heading candidate
120
+ && !b.id.includes('-cont-')) {
121
+ candidates.push({
122
+ contentIndex: b.contentIndex,
123
+ kind: 'listEnd',
124
+ level: 0,
125
+ order: i,
126
+ lineCount: b.lines.length,
127
+ });
128
+ }
129
+ if (b.type === 'paragraph'
130
+ && b.textAlign === 'justify'
131
+ && b.lines.length >= 2
132
+ && partCount.get(b.contentIndex) === 1) {
133
+ candidates.push({
134
+ contentIndex: b.contentIndex,
135
+ kind: 'looseParagraph',
136
+ level: 0,
137
+ order: i,
138
+ lineCount: b.lines.length,
139
+ });
140
+ }
141
+ }
142
+ gaps.push({ pageIndex: p, columnIndex: c, gapLines, candidates });
143
+ }
144
+ }
145
+ return gaps;
146
+ }
147
+ /** Total empty grid lines across all balanceable columns — the quantity the
148
+ * convergence loop minimises. */
149
+ export function totalGapLines(doc, forcedBreakPages) {
150
+ return collectColumnGaps(doc, forcedBreakPages).reduce((sum, g) => sum + g.gapLines, 0);
151
+ }
152
+ /**
153
+ * Propose the next round of adjustments. Per column gap, levers apply in
154
+ * strict editorial priority order, on top of the already-applied `current`
155
+ * state:
156
+ * 1. headings — round-robin in importance order (level asc, then reading
157
+ * order), capped at `maxLinesPerHeading`;
158
+ * 2. list ends — round-robin in reading order, capped at
159
+ * `maxLinesAfterList`;
160
+ * 3. one loose paragraph per column (cumulative across passes) — the one
161
+ * with the most lines (most glue = least visible loosening), skipping
162
+ * candidates that already failed to gain a line.
163
+ */
164
+ export function proposeBalanceLines(doc, forcedBreakPages, current, options) {
165
+ const lines = new Map(current.lines);
166
+ const loose = new Map(current.loose);
167
+ let changed = false;
168
+ /** Round-robin one extra line at a time over `cands` until the gap is
169
+ * absorbed or every candidate hits `cap`. Returns the unabsorbed rest. */
170
+ const distribute = (cands, remaining, cap) => {
171
+ let progress = true;
172
+ while (remaining > 0 && progress) {
173
+ progress = false;
174
+ for (const cand of cands) {
175
+ if (remaining <= 0)
176
+ break;
177
+ const cur = lines.get(cand.contentIndex) ?? 0;
178
+ if (cur >= cap)
179
+ continue;
180
+ lines.set(cand.contentIndex, cur + 1);
181
+ remaining--;
182
+ changed = true;
183
+ progress = true;
184
+ }
185
+ }
186
+ return remaining;
187
+ };
188
+ for (const gap of collectColumnGaps(doc, forcedBreakPages)) {
189
+ let remaining = gap.gapLines;
190
+ const headings = gap.candidates
191
+ .filter((c) => c.kind === 'heading')
192
+ .sort((a, b) => a.level - b.level || a.order - b.order);
193
+ remaining = distribute(headings, remaining, options.maxLinesPerHeading);
194
+ if (remaining > 0 && options.stretchAfterLists) {
195
+ const listEnds = gap.candidates
196
+ .filter((c) => c.kind === 'listEnd')
197
+ .sort((a, b) => a.order - b.order);
198
+ remaining = distribute(listEnds, remaining, options.maxLinesAfterList);
199
+ }
200
+ if (remaining > 0
201
+ && options.looseParagraphs
202
+ && options.optimalLineBreaking) {
203
+ const columnLoose = gap.candidates.filter((c) => c.kind === 'looseParagraph');
204
+ // One loose paragraph per column, cumulative across passes.
205
+ const alreadyLoose = columnLoose.some((c) => loose.has(c.contentIndex));
206
+ if (!alreadyLoose) {
207
+ const pick = columnLoose
208
+ .filter((c) => !options.failedLoose.has(c.contentIndex))
209
+ .sort((a, b) => b.lineCount - a.lineCount || a.order - b.order)[0];
210
+ if (pick) {
211
+ loose.set(pick.contentIndex, 1);
212
+ changed = true;
213
+ }
214
+ }
215
+ }
216
+ }
217
+ return { lines, loose, changed };
218
+ }
219
+ //# sourceMappingURL=columnBalancing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnBalancing.js","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import type { PostextConfig } from '../types';
1
+ import type { PostextConfig, ResolvedHeadingLevelConfig } from '../types';
2
2
  import { type BoundingBox, type ResolvedConfig } from '../vdt';
3
3
  export declare function resolveAllConfig(rawConfig?: PostextConfig): ResolvedConfig;
4
+ /** Index heading-level configs by level so per-block lookups in the
5
+ * placement loop are O(1) instead of a linear `.find()`. */
6
+ export declare function buildHeadingLevelMap(resolved: ResolvedConfig): Map<number, ResolvedHeadingLevelConfig>;
4
7
  export declare function computeBaselineGrid(resolved: ResolvedConfig): number;
5
8
  export declare function computeColumnBboxes(contentArea: BoundingBox, resolved: ResolvedConfig): BoundingBox[];
6
9
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgB9C,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAiB1E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAUpE;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,GACvB,WAAW,EAAE,CAyBf"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAiB1E,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAkB1E;AAED;6DAC6D;AAC7D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,GACvB,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAIzC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAUpE;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,GACvB,WAAW,EAAE,CAyBf"}
@@ -1,4 +1,4 @@
1
- import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveHeadingsConfig, resolveTableStyleConfig, resolveCaptionStyleConfig, resolveUnorderedListsConfig, resolveOrderedListsConfig, resolveMathConfig, resolveHeaderFooterConfig, applyPaletteToConfig, applyPaletteToResolvedConfig, } from '../defaults';
1
+ import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveHeadingsConfig, resolveTableStyleConfig, resolveCaptionStyleConfig, resolveDiagramStyleConfig, resolveUnorderedListsConfig, resolveOrderedListsConfig, resolveMathConfig, resolveHeaderFooterConfig, applyPaletteToConfig, applyPaletteToResolvedConfig, } from '../defaults';
2
2
  import { dimensionToPx } from '../units';
3
3
  import { createBoundingBox } from '../vdt';
4
4
  export function resolveAllConfig(rawConfig) {
@@ -11,6 +11,7 @@ export function resolveAllConfig(rawConfig) {
11
11
  headings: resolveHeadingsConfig(config?.headings),
12
12
  tableStyle: resolveTableStyleConfig(config?.tableStyle, bodyText),
13
13
  captionStyle: resolveCaptionStyleConfig(config?.captionStyle, bodyText),
14
+ diagramStyle: resolveDiagramStyleConfig(config?.diagramStyle),
14
15
  unorderedLists: resolveUnorderedListsConfig(config?.unorderedLists, bodyText),
15
16
  orderedLists: resolveOrderedListsConfig(config?.orderedLists, bodyText),
16
17
  math: resolveMathConfig(config?.math),
@@ -19,6 +20,14 @@ export function resolveAllConfig(rawConfig) {
19
20
  };
20
21
  return applyPaletteToResolvedConfig(resolved, rawConfig?.colorPalette);
21
22
  }
23
+ /** Index heading-level configs by level so per-block lookups in the
24
+ * placement loop are O(1) instead of a linear `.find()`. */
25
+ export function buildHeadingLevelMap(resolved) {
26
+ const map = new Map();
27
+ for (const lvl of resolved.headings.levels)
28
+ map.set(lvl.level, lvl);
29
+ return map;
30
+ }
22
31
  export function computeBaselineGrid(resolved) {
23
32
  const dpi = resolved.page.dpi;
24
33
  const bodyFontSizePx = dimensionToPx(resolved.bodyText.fontSize, dpi);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAyC,MAAM,QAAQ,CAAC;AAElF,MAAM,UAAU,gBAAgB,CAAC,SAAyB;IACxD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAmB;QAC/B,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC;QAC3C,QAAQ;QACR,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;QACjD,UAAU,EAAE,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;QACjE,YAAY,EAAE,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;QACvE,cAAc,EAAE,2BAA2B,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;QAC7E,YAAY,EAAE,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;QACvE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,MAAM,EAAE,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC3D,MAAM,EAAE,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC5D,CAAC;IACF,OAAO,4BAA4B,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAwB;IAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;IAEnD,0DAA0D;IAC1D,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAChE,OAAO,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,WAAwB,EACxB,QAAwB;IAExB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;IACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAE9B,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEjD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO;YACL,iBAAiB,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;YAC7E,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;SACpG,CAAC;IACJ,CAAC;IAED,aAAa;IACb,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3D,OAAO;QACL,iBAAiB,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC;QAC9E,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC;KACtG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAA6B,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC5H,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,aAAa,EAMnB,MAAM,QAAQ,CAAC;AAUhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AA0GvE;;;;;;;mDAOmD;AACnD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAC9E,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,GAChB,MAAM,CAsBR;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAClE,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,wBAAwB,EACtC,GAAG,EAAE,MAAM,GACV,aAAa,GAAG,SAAS,CAQ3B;AAsED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAkH7D"}
1
+ {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAA6B,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC5H,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,aAAa,EAMnB,MAAM,QAAQ,CAAC;AAWhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AA0GvE;;;;;;;mDAOmD;AACnD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAC9E,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,GAChB,MAAM,CAsBR;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAClE,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,wBAAwB,EACtC,GAAG,EAAE,MAAM,GACV,aAAa,GAAG,SAAS,CAQ3B;AAsED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAmH7D"}
@@ -1,6 +1,7 @@
1
1
  import { createBoundingBox, } from '../vdt';
2
2
  import { computeChapterTitles, computeChapterNumbers } from './placeholders';
3
3
  import { computePageMetrics } from './buildHelpers';
4
+ import { buildHeadingLevelMap } from './config';
4
5
  import { layoutDesignSlot, } from '../design/layout';
5
6
  /** Slots live in the page margin area between the body edge and the page
6
7
  * edge. Header slot container: from `top-margin` edge down to body top.
@@ -141,12 +142,12 @@ function openerContainerBbox(block, contentArea) {
141
142
  * placeholders in the design slot. Triggers regardless of whether
142
143
  * `advancedDesign.enabled` is true — when false, the pipeline synthesises
143
144
  * a default slot from the heading level typography. */
144
- function findOpenerHeading(page, doc) {
145
+ function findOpenerHeading(page, headingLevelByNumber) {
145
146
  for (const col of page.columns) {
146
147
  for (const block of col.blocks) {
147
148
  if (block.type !== 'heading' || !block.headingLevel)
148
149
  continue;
149
- const lvl = doc.config.headings.levels.find((l) => l.level === block.headingLevel);
150
+ const lvl = headingLevelByNumber.get(block.headingLevel);
150
151
  if (!lvl)
151
152
  continue;
152
153
  if (lvl.span !== 'page')
@@ -200,6 +201,7 @@ export function buildHeadersAndFooters(doc) {
200
201
  const { contentArea } = computePageMetrics(resolved);
201
202
  const chapterTitleByPageIndex = computeChapterTitles(doc.blocks, doc.pages.length, doc.pages);
202
203
  const chapterNumberByPageIndex = computeChapterNumbers(doc.blocks, doc.pages.length, doc.pages);
204
+ const headingLevelByNumber = buildHeadingLevelMap(resolved);
203
205
  for (const page of doc.pages) {
204
206
  if (resolved.header.elements.length > 0) {
205
207
  const placeholders = {
@@ -211,9 +213,9 @@ export function buildHeadersAndFooters(doc) {
211
213
  };
212
214
  page.header = layoutSlotToVdt(resolved.header, headerContainerBbox(contentArea, page.height), page.index, placeholders, dpi);
213
215
  }
214
- const opener = findOpenerHeading(page, doc);
216
+ const opener = findOpenerHeading(page, headingLevelByNumber);
215
217
  if (opener) {
216
- const level = resolved.headings.levels.find((l) => l.level === opener.level);
218
+ const level = headingLevelByNumber.get(opener.level);
217
219
  if (level) {
218
220
  const slot = level.advancedDesign.enabled && level.advancedDesign.slot.elements.length > 0
219
221
  ? level.advancedDesign.slot
@@ -247,7 +249,7 @@ export function buildHeadersAndFooters(doc) {
247
249
  continue;
248
250
  if (block.type !== 'heading' || !block.headingLevel)
249
251
  continue;
250
- const lvl = resolved.headings.levels.find((l) => l.level === block.headingLevel);
252
+ const lvl = headingLevelByNumber.get(block.headingLevel);
251
253
  if (!lvl)
252
254
  continue;
253
255
  if (lvl.span === 'page')
@@ -1 +1 @@
1
- {"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"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"}
@@ -29,17 +29,12 @@ export interface OrderedListMetrics {
29
29
  perBlock: Map<number, OrderedRunMetric>;
30
30
  maxWidthByDepth: Map<number, number>;
31
31
  }
32
- /**
33
- * Compute the effective indent in px for each unordered list level.
34
- * User-overridden `indent` is honored directly. Otherwise level 1 falls back to
35
- * the general indent, and deeper levels cascade from the previous level's
36
- * text-start position (prev indent + prev bullet width + gap).
37
- */
32
+ /** Indent cascade for unordered list levels (marker = bullet glyph). */
38
33
  export declare function computeLevelIndentsPx(resolved: ResolvedConfig, bodyFontSizePx: number): number[];
39
34
  /**
40
- * Same as computeLevelIndentsPx but for ordered lists. The cascade uses the
41
- * per-depth max number width observed in the document (falling back to a
42
- * width approximation based on "99." when no runs exist at that depth).
35
+ * Indent cascade for ordered list levels. The marker width is the per-depth
36
+ * max number width observed in the document (falling back to a width
37
+ * approximation based on "99." when no runs exist at that depth).
43
38
  */
44
39
  export declare function computeOrderedLevelIndentsPx(resolved: ResolvedConfig, bodyFontSizePx: number, maxNumberWidthByDepth: Map<number, number>): number[];
45
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,UAAU,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,qIAAqI;IACrI,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAQD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BhG;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,MAAM,EAAE,CA+BV;AAyCD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,YAAY,EAAE,EAC7B,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,GACrB,kBAAkB,CAwFpB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,gBAAgB,CA4DlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,gBAAgB,GACvB,gBAAgB,CAoDlB"}
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,UAAU,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,qIAAqI;IACrI,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAyDD,wEAAwE;AACxE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAWhG;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,MAAM,EAAE,CAcV;AAyCD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,YAAY,EAAE,EAC7B,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,GACrB,kBAAkB,CAwFpB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,gBAAgB,CA4DlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,gBAAgB,GACvB,gBAAgB,CAoDlB"}