postext 0.3.26 → 0.3.27
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/__tests__/columnBalancing.test.js +46 -0
- package/dist/__tests__/columnBalancing.test.js.map +1 -1
- package/dist/__tests__/continuation.test.d.ts +2 -0
- package/dist/__tests__/continuation.test.d.ts.map +1 -0
- package/dist/__tests__/continuation.test.js +124 -0
- package/dist/__tests__/continuation.test.js.map +1 -0
- package/dist/__tests__/defaults/calloutStyles.test.js +58 -1
- package/dist/__tests__/defaults/calloutStyles.test.js.map +1 -1
- package/dist/__tests__/exports.test.js +1 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutLayout.test.js +171 -0
- package/dist/__tests__/pipeline/calloutLayout.test.js.map +1 -1
- package/dist/__tests__/pipeline/raggedUrl.test.d.ts +2 -0
- package/dist/__tests__/pipeline/raggedUrl.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/raggedUrl.test.js +22 -0
- package/dist/__tests__/pipeline/raggedUrl.test.js.map +1 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.d.ts +2 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.js +77 -0
- package/dist/__tests__/pipeline/trailingBandZone.test.js.map +1 -0
- package/dist/canvas-backend/blockRender.js +1 -1
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts +17 -1
- package/dist/defaults/calloutStyles.d.ts.map +1 -1
- package/dist/defaults/calloutStyles.js +74 -1
- package/dist/defaults/calloutStyles.js.map +1 -1
- package/dist/defaults/shared.d.ts.map +1 -1
- package/dist/defaults/shared.js +12 -0
- package/dist/defaults/shared.js.map +1 -1
- package/dist/html-backend.js +1 -1
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/numbering.d.ts +3 -1
- package/dist/numbering.d.ts.map +1 -1
- package/dist/numbering.js +4 -1
- package/dist/numbering.js.map +1 -1
- package/dist/pipeline/bandCaps.d.ts +21 -1
- package/dist/pipeline/bandCaps.d.ts.map +1 -1
- package/dist/pipeline/bandCaps.js +29 -3
- package/dist/pipeline/bandCaps.js.map +1 -1
- package/dist/pipeline/build.d.ts +17 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +58 -20
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts +1 -1
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +2 -2
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts +5 -0
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +147 -44
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +17 -1
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/continuation.d.ts +7 -0
- package/dist/pipeline/continuation.d.ts.map +1 -0
- package/dist/pipeline/continuation.js +26 -0
- package/dist/pipeline/continuation.js.map +1 -0
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +9 -7
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/index.d.ts +2 -1
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +1 -0
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/placeholders.d.ts +1 -1
- package/dist/pipeline/placeholders.d.ts.map +1 -1
- package/dist/pipeline/placeholders.js +4 -3
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/placement.d.ts +2 -2
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +12 -8
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/raggedUrl.d.ts +15 -0
- package/dist/pipeline/raggedUrl.d.ts.map +1 -0
- package/dist/pipeline/raggedUrl.js +28 -0
- package/dist/pipeline/raggedUrl.js.map +1 -0
- package/dist/pipeline/resourceNumbering.d.ts +27 -19
- package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
- package/dist/pipeline/resourceNumbering.js +19 -17
- package/dist/pipeline/resourceNumbering.js.map +1 -1
- package/dist/types.d.ts +98 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +13 -0
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/dist/worker/client.d.ts +4 -0
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +4 -0
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/layout.worker.js +14 -0
- package/dist/worker/layout.worker.js.map +1 -1
- package/dist/worker/protocol.d.ts +5 -0
- package/dist/worker/protocol.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bandCaps.js","sourceRoot":"","sources":["../../src/pipeline/bandCaps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"bandCaps.js","sourceRoot":"","sources":["../../src/pipeline/bandCaps.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline/build.d.ts
CHANGED
|
@@ -11,6 +11,23 @@ export interface BuildDocumentOptions {
|
|
|
11
11
|
* a newer request has superseded this one.
|
|
12
12
|
*/
|
|
13
13
|
shouldCancel?: () => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Progress hook, called as placement advances: once per top-level content
|
|
16
|
+
* block of every pass (the engine re-places the document several times —
|
|
17
|
+
* band caps, column balancing — so `pass` counts up and the block counter
|
|
18
|
+
* restarts). A long build can show a bar from it.
|
|
19
|
+
*/
|
|
20
|
+
onProgress?: (progress: BuildProgress) => void;
|
|
21
|
+
}
|
|
22
|
+
export interface BuildProgress {
|
|
23
|
+
/** 1-based placement pass. */
|
|
24
|
+
pass: number;
|
|
25
|
+
/** Top-level content blocks placed so far in this pass, and how many
|
|
26
|
+
* there are in the document. */
|
|
27
|
+
blocks: number;
|
|
28
|
+
totalBlocks: number;
|
|
29
|
+
/** Pages opened so far in this pass. */
|
|
30
|
+
pages: number;
|
|
14
31
|
}
|
|
15
32
|
export declare class BuildCancelledError extends Error {
|
|
16
33
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAA0E,MAAM,UAAU,CAAC;AAGtI,OAAO,EAIL,KAAK,WAAW,EAMjB,MAAM,QAAQ,CAAC;AAYhB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsEnD,OAAO,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAA0E,MAAM,UAAU,CAAC;AAGtI,OAAO,EAIL,KAAK,WAAW,EAMjB,MAAM,QAAQ,CAAC;AAYhB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsEnD,OAAO,EAAsC,KAAK,WAAW,EAA2C,MAAM,mBAAmB,CAAC;AAClI,OAAO,EAQL,KAAK,OAAO,EACZ,KAAK,cAAc,EAGpB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb;qCACiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AAWD;yEACyE;AACzE,MAAM,WAAW,SAAS;IACxB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C;4EACwE;IACxE,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtD,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,EAAE,WAAW,CAAC;IACjB;;+DAE2D;IAC3D,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;4EAGwE;IACxE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CAC1C;AAuCD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,KAAK,GAAE,SAAc,GACpB,UAAU,CA4zDZ;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,WAAW,CAuIb"}
|
package/dist/pipeline/build.js
CHANGED
|
@@ -22,8 +22,9 @@ import { enumerateCurrentPageSlots, measureFloatBand, columnHasFloatBand, fitsSt
|
|
|
22
22
|
import { computeHeadingContext, computeResourceNumbering, } from './resourceNumbering';
|
|
23
23
|
import { defaultResourceTypes } from '../defaults/resourceTypes';
|
|
24
24
|
import { buildHeadersAndFooters, measureHeadingAdvancedDesignHeight } from './headerFooter';
|
|
25
|
-
import { totalGapLines, proposeBalanceLines, MAX_BALANCING_PASSES
|
|
26
|
-
import { applyBandCap, uncapBand, columnBottom, bandCapLines, bandTop, resolveBandCaps, resolveTrailingCaps, } from './bandCaps';
|
|
25
|
+
import { totalGapLines, proposeBalanceLines, MAX_BALANCING_PASSES } from './columnBalancing';
|
|
26
|
+
import { applyBandCap, uncapBand, columnBottom, bandCapLines, bandTop, resolveBandCaps, resolveTrailingCaps, bandCapLinesAroundZone, } from './bandCaps';
|
|
27
|
+
import { raggedUrlLines } from './raggedUrl';
|
|
27
28
|
export class BuildCancelledError extends Error {
|
|
28
29
|
constructor() {
|
|
29
30
|
super('Build cancelled');
|
|
@@ -106,13 +107,21 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
106
107
|
const baselineGrid = computeBaselineGrid(resolved);
|
|
107
108
|
// Create document
|
|
108
109
|
const doc = createVDTDocument(resolved, baselineGrid);
|
|
110
|
+
// A chapter laid out after the pages before it: shift parity and carry the
|
|
111
|
+
// counters over (see `PostextContent.continuation`).
|
|
112
|
+
const continuation = content.continuation;
|
|
113
|
+
const pageIndexOffset = Math.max(0, Math.floor(continuation?.pageIndexOffset ?? 0));
|
|
114
|
+
if (pageIndexOffset > 0)
|
|
115
|
+
doc.pageIndexOffset = pageIndexOffset;
|
|
116
|
+
if (continuation?.headings && continuation.headings.h1 > 0)
|
|
117
|
+
doc.chapterOrdinalOffset = continuation.headings.h1;
|
|
109
118
|
const pageMetrics = computePageMetrics(resolved);
|
|
110
119
|
const { pageWidthPx, pageHeightPx, trimOffset, contentArea } = pageMetrics;
|
|
111
120
|
// Page/bleed frames for design elements anchored to `'page'` / `'bleed'`.
|
|
112
121
|
const designFrames = { page: pageMetrics.trimBox, bleed: pageMetrics.bleedBox };
|
|
113
122
|
doc.trimOffset = trimOffset;
|
|
114
123
|
// Create first page
|
|
115
|
-
const firstPage = createPageWithColumns(0, resolved, contentArea, pageWidthPx, pageHeightPx);
|
|
124
|
+
const firstPage = createPageWithColumns(0, resolved, contentArea, pageWidthPx, pageHeightPx, pageIndexOffset);
|
|
116
125
|
doc.pages.push(firstPage);
|
|
117
126
|
// Extract frontmatter, then parse the remaining markdown body
|
|
118
127
|
const { metadata: frontmatterMeta, content: markdownBody, contentOffset: bodyOffset } = extractFrontmatter(content.markdown);
|
|
@@ -124,15 +133,16 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
124
133
|
headingTemplates[lvl.level] = lvl.numberingTemplate;
|
|
125
134
|
}
|
|
126
135
|
}
|
|
127
|
-
const
|
|
136
|
+
const headingStart = continuation?.headings;
|
|
137
|
+
const headingPrefixes = computeHeadingNumbers(contentBlocks, headingTemplates, headingStart ? [headingStart.h1, headingStart.h2, headingStart.h3, headingStart.h4, headingStart.h5, headingStart.h6] : undefined);
|
|
128
138
|
// Resource numbering — computed up front (before the placement loop) so that
|
|
129
139
|
// captions and inline `:ref`s can resolve their rendered number strings
|
|
130
140
|
// before measurement. Numbering follows order of first reference in the
|
|
131
141
|
// document.
|
|
132
142
|
const resourceTypes = config?.resourceTypes ?? defaultResourceTypes();
|
|
133
143
|
const resources = content.resources ?? [];
|
|
134
|
-
const headingContext = computeHeadingContext(contentBlocks);
|
|
135
|
-
const resourceNumbering = computeResourceNumbering(contentBlocks, resourceTypes, resources, headingContext);
|
|
144
|
+
const headingContext = computeHeadingContext(contentBlocks, headingStart);
|
|
145
|
+
const resourceNumbering = computeResourceNumbering(contentBlocks, resourceTypes, resources, headingContext, continuation ? { counters: continuation.resourceCounters, numbered: continuation.resourceNumbers } : undefined);
|
|
136
146
|
// Lookups threaded into block-kind resolution + measurement.
|
|
137
147
|
const resourceById = new Map();
|
|
138
148
|
for (const r of resources)
|
|
@@ -533,7 +543,7 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
533
543
|
for (const [spanIndex, cap] of bandCaps) {
|
|
534
544
|
if (cap.startContentIndex !== contentIndex || cap.startPart !== part)
|
|
535
545
|
continue;
|
|
536
|
-
applyBandCap(bandColumns(page, band), cap.lines * baselineGrid, uncappedBottoms);
|
|
546
|
+
applyBandCap(bandColumns(page, band), cap.lines * baselineGrid, uncappedBottoms, cap.zone);
|
|
537
547
|
activeCap = { spanIndex, pageIndex: page.index, band };
|
|
538
548
|
bandCapsApplied.add(spanIndex);
|
|
539
549
|
break;
|
|
@@ -550,8 +560,14 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
550
560
|
* the cap delivered when it is reached inside the capped band (nothing
|
|
551
561
|
* spilled past the cut); the columns are NOT uncapped afterwards, so
|
|
552
562
|
* column balancing does not stretch them back to the page bottom.
|
|
563
|
+
*
|
|
564
|
+
* A chapter-closing fixed box passes the `zone` it will take at the
|
|
565
|
+
* bottom of the band: when the level cut would run into it, the columns
|
|
566
|
+
* under the box are cut at the zone's top instead and the others take
|
|
567
|
+
* the displaced text (see {@link bandCapLinesAroundZone}) — the box then
|
|
568
|
+
* fits on the page, under its columns, rather than opening a page alone.
|
|
553
569
|
*/
|
|
554
|
-
const proposeTrailingCap = (boundaryIndex) => {
|
|
570
|
+
const proposeTrailingCap = (boundaryIndex, zone) => {
|
|
555
571
|
const balancingCfg = resolved.headings.balancing;
|
|
556
572
|
if (!balancingCfg.enabled || !balancingCfg.trailing)
|
|
557
573
|
return;
|
|
@@ -576,14 +592,16 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
576
592
|
if (!bandStart || !registeredBand || registeredBand.pageIndex !== page.index || registeredBand.band !== band)
|
|
577
593
|
return;
|
|
578
594
|
const bottoms = cols.map((c) => c.bbox.y + (c.bbox.height - c.availableHeight));
|
|
579
|
-
|
|
595
|
+
const aroundZone = zone ? bandCapLinesAroundZone(cols, baselineGrid, zone, (c) => columnBottom(c, uncappedBottoms)) : null;
|
|
596
|
+
if (aroundZone === null && Math.max(...bottoms) - Math.min(...bottoms) <= baselineGrid + 0.5)
|
|
580
597
|
return;
|
|
581
598
|
bandCapProposals.set(boundaryIndex, {
|
|
582
599
|
kind: 'trailing',
|
|
583
600
|
startContentIndex: bandStart.contentIndex,
|
|
584
601
|
startPart: bandStart.part,
|
|
585
|
-
lines: bandCapLines(cols, baselineGrid),
|
|
602
|
+
lines: aroundZone ?? bandCapLines(cols, baselineGrid),
|
|
586
603
|
retries: 0,
|
|
604
|
+
...(aroundZone !== null ? { zone } : {}),
|
|
587
605
|
});
|
|
588
606
|
};
|
|
589
607
|
/** Close the flow at a chapter-level boundary (block `boundaryIndex`):
|
|
@@ -617,11 +635,12 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
617
635
|
// Page-numbering segments. The implicit first segment comes from
|
|
618
636
|
// `cfg.page.pageNumbering`; `:::numbering` directives append more,
|
|
619
637
|
// each applied at the next page boundary.
|
|
638
|
+
// A continued document starts where the previous page left off.
|
|
620
639
|
const pageNumberSegments = [
|
|
621
640
|
{
|
|
622
641
|
startPageIndex: 0,
|
|
623
|
-
format: resolved.page.pageNumbering.format,
|
|
624
|
-
startAt: resolved.page.pageNumbering.startAt,
|
|
642
|
+
format: continuation?.pageNumbering?.format ?? resolved.page.pageNumbering.format,
|
|
643
|
+
startAt: continuation?.pageNumbering?.startAt ?? resolved.page.pageNumbering.startAt,
|
|
625
644
|
},
|
|
626
645
|
];
|
|
627
646
|
let pendingNumberingChange = null;
|
|
@@ -846,7 +865,8 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
846
865
|
};
|
|
847
866
|
const snapDown = (page, v) => page.contentArea.y + Math.floor((v - page.contentArea.y + 0.01) / baselineGrid) * baselineGrid;
|
|
848
867
|
const snapUp = (page, v) => page.contentArea.y + Math.ceil((v - page.contentArea.y - 0.01) / baselineGrid) * baselineGrid;
|
|
849
|
-
|
|
868
|
+
/** The box laid out for `page` and the zone it takes there. */
|
|
869
|
+
const zoneOn = (page) => {
|
|
850
870
|
const ref = anchor.to === 'page' ? designFrames.page
|
|
851
871
|
: anchor.to === 'bleed' ? designFrames.bleed
|
|
852
872
|
: page.contentArea;
|
|
@@ -864,10 +884,14 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
864
884
|
const rect = anchorBox(anchor.edge, ref, result.width, result.totalHeight, offset);
|
|
865
885
|
const zoneTop = snapDown(page, rect.y - result.marginTopPx);
|
|
866
886
|
const zoneBottom = snapUp(page, rect.y + rect.height + result.marginBottomPx);
|
|
887
|
+
const meetsX = (col) => rect.x < col.bbox.x + col.bbox.width - 0.5 && rect.x + rect.width > col.bbox.x + 0.5;
|
|
888
|
+
return { cols, result, rect, zoneTop, zoneBottom, meetsX };
|
|
889
|
+
};
|
|
890
|
+
const attempt = (page, force) => {
|
|
891
|
+
const { cols, result, rect, zoneTop, zoneBottom, meetsX } = zoneOn(page);
|
|
867
892
|
const cuts = [];
|
|
868
893
|
for (const col of cols) {
|
|
869
|
-
|
|
870
|
-
if (!meetsX)
|
|
894
|
+
if (!meetsX(col))
|
|
871
895
|
continue;
|
|
872
896
|
const colTop = col.bbox.y;
|
|
873
897
|
const colBottom = trueBottom(col, uncappedBottoms);
|
|
@@ -903,10 +927,13 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
903
927
|
}
|
|
904
928
|
return { rect, result, cuts };
|
|
905
929
|
};
|
|
906
|
-
// A box that closes the chapter levels the columns above it first
|
|
930
|
+
// A box that closes the chapter levels the columns above it first —
|
|
931
|
+
// around the zone it takes on the current page.
|
|
907
932
|
if (nextIsBarrier(plan.endIdx + 1)) {
|
|
908
933
|
tryPlacePendingFloatsOnCurrentPage();
|
|
909
|
-
|
|
934
|
+
const here = zoneOn(doc.pages[cursor.pageIndex]);
|
|
935
|
+
const columns = here.cols.flatMap((c, i) => (here.meetsX(c) ? [i] : []));
|
|
936
|
+
proposeTrailingCap(startIdx, columns.length > 0 ? { top: here.zoneTop, columns } : undefined);
|
|
910
937
|
}
|
|
911
938
|
let page = doc.pages[cursor.pageIndex];
|
|
912
939
|
let fit = attempt(page, false);
|
|
@@ -1065,6 +1092,7 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
1065
1092
|
for (let blockIdx = 0; blockIdx < contentBlocks.length; blockIdx++) {
|
|
1066
1093
|
if (options?.shouldCancel?.())
|
|
1067
1094
|
throw new BuildCancelledError();
|
|
1095
|
+
options?.onProgress?.({ pass: 1, blocks: blockIdx, totalBlocks: contentBlocks.length, pages: doc.pages.length });
|
|
1068
1096
|
const rawBlock = contentBlocks[blockIdx];
|
|
1069
1097
|
// Floats whose reference landed in an earlier iteration take the first
|
|
1070
1098
|
// free slot of the current page now — after their reference in reading
|
|
@@ -1157,7 +1185,7 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
1157
1185
|
title: plan.title,
|
|
1158
1186
|
titleSourceStart,
|
|
1159
1187
|
titleSourceEnd,
|
|
1160
|
-
});
|
|
1188
|
+
}, pageIndexOffset);
|
|
1161
1189
|
flushPendingNumberingAtBoundary();
|
|
1162
1190
|
continue;
|
|
1163
1191
|
}
|
|
@@ -1380,7 +1408,8 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
1380
1408
|
// List items may split too — orphan/widow protection per-list is gated by
|
|
1381
1409
|
// `avoidOrphansInLists` / `avoidWidowsInLists`; bullet stays on first part.
|
|
1382
1410
|
const canSplit = vdtType === 'paragraph' || vdtType === 'blockquote' || vdtType === 'listItem';
|
|
1383
|
-
|
|
1411
|
+
// A justified line a link leaves with too few spaces is set ragged.
|
|
1412
|
+
let remainingLines = [...raggedUrlLines(measured.lines, style.textAlign, rawBlock.text)];
|
|
1384
1413
|
let partIndex = 0;
|
|
1385
1414
|
// "Keep with next" for colon-introduced lists: a paragraph ending in `:`
|
|
1386
1415
|
// followed directly by a list acts as a lead-in title — the colon-bearing
|
|
@@ -1831,7 +1860,16 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
|
|
|
1831
1860
|
return { doc, forcedBreakPages, bandCapProposals, spanPlacedInBand, bandCapsApplied, looseOutcome };
|
|
1832
1861
|
}
|
|
1833
1862
|
export function buildDocument(content, config, cache, options) {
|
|
1834
|
-
|
|
1863
|
+
// Each pass reports its own progress, numbered in build order.
|
|
1864
|
+
let passIndex = 0;
|
|
1865
|
+
const onProgress = options?.onProgress;
|
|
1866
|
+
const passOptions = onProgress
|
|
1867
|
+
? { ...options, onProgress: (p) => onProgress({ ...p, pass: passIndex }) }
|
|
1868
|
+
: options;
|
|
1869
|
+
const runPass = (hints) => {
|
|
1870
|
+
passIndex++;
|
|
1871
|
+
return buildDocumentPass(content, config, cache, passOptions, hints);
|
|
1872
|
+
};
|
|
1835
1873
|
// --- Band caps (page-span blocks mid-page) -----------------------------
|
|
1836
1874
|
// A span block that arrived in an uneven band proposes a cap; the driver
|
|
1837
1875
|
// re-places the document with it (and grows / drops caps whose band
|