postext 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/__tests__/cjk/grid.test.js +41 -0
  2. package/dist/__tests__/cjk/grid.test.js.map +1 -1
  3. package/dist/__tests__/defaults/folio.test.js +58 -1
  4. package/dist/__tests__/defaults/folio.test.js.map +1 -1
  5. package/dist/__tests__/defaults/pageSizePreset.test.js +10 -0
  6. package/dist/__tests__/defaults/pageSizePreset.test.js.map +1 -1
  7. package/dist/__tests__/exports.test.js +7 -0
  8. package/dist/__tests__/exports.test.js.map +1 -1
  9. package/dist/__tests__/floatedBoxesSurvive.test.d.ts +2 -0
  10. package/dist/__tests__/floatedBoxesSurvive.test.d.ts.map +1 -0
  11. package/dist/__tests__/floatedBoxesSurvive.test.js +39 -0
  12. package/dist/__tests__/floatedBoxesSurvive.test.js.map +1 -0
  13. package/dist/__tests__/multipleColumns.test.d.ts +2 -0
  14. package/dist/__tests__/multipleColumns.test.d.ts.map +1 -0
  15. package/dist/__tests__/multipleColumns.test.js +144 -0
  16. package/dist/__tests__/multipleColumns.test.js.map +1 -0
  17. package/dist/__tests__/multipleColumnsFlow.test.d.ts +2 -0
  18. package/dist/__tests__/multipleColumnsFlow.test.d.ts.map +1 -0
  19. package/dist/__tests__/multipleColumnsFlow.test.js +184 -0
  20. package/dist/__tests__/multipleColumnsFlow.test.js.map +1 -0
  21. package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
  22. package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
  23. package/dist/__tests__/sectionPageBackground.test.d.ts +2 -0
  24. package/dist/__tests__/sectionPageBackground.test.d.ts.map +1 -0
  25. package/dist/__tests__/sectionPageBackground.test.js +45 -0
  26. package/dist/__tests__/sectionPageBackground.test.js.map +1 -0
  27. package/dist/__tests__/videoPlayback.test.d.ts +2 -0
  28. package/dist/__tests__/videoPlayback.test.d.ts.map +1 -0
  29. package/dist/__tests__/videoPlayback.test.js +149 -0
  30. package/dist/__tests__/videoPlayback.test.js.map +1 -0
  31. package/dist/canvas-backend/index.d.ts.map +1 -1
  32. package/dist/canvas-backend/index.js +2 -1
  33. package/dist/canvas-backend/index.js.map +1 -1
  34. package/dist/columnRule.d.ts +8 -4
  35. package/dist/columnRule.d.ts.map +1 -1
  36. package/dist/columnRule.js +25 -10
  37. package/dist/columnRule.js.map +1 -1
  38. package/dist/configWarnings.js +25 -2
  39. package/dist/configWarnings.js.map +1 -1
  40. package/dist/defaults/calloutStyles.d.ts +1 -0
  41. package/dist/defaults/calloutStyles.d.ts.map +1 -1
  42. package/dist/defaults/calloutStyles.js +5 -0
  43. package/dist/defaults/calloutStyles.js.map +1 -1
  44. package/dist/defaults/folio.d.ts +24 -5
  45. package/dist/defaults/folio.d.ts.map +1 -1
  46. package/dist/defaults/folio.js +50 -6
  47. package/dist/defaults/folio.js.map +1 -1
  48. package/dist/defaults/headingStyles.d.ts.map +1 -1
  49. package/dist/defaults/headingStyles.js +2 -0
  50. package/dist/defaults/headingStyles.js.map +1 -1
  51. package/dist/defaults/index.d.ts +1 -1
  52. package/dist/defaults/index.d.ts.map +1 -1
  53. package/dist/defaults/index.js +2 -2
  54. package/dist/defaults/index.js.map +1 -1
  55. package/dist/defaults/layout.d.ts +15 -1
  56. package/dist/defaults/layout.d.ts.map +1 -1
  57. package/dist/defaults/layout.js +28 -0
  58. package/dist/defaults/layout.js.map +1 -1
  59. package/dist/defaults/page.d.ts.map +1 -1
  60. package/dist/defaults/page.js +6 -0
  61. package/dist/defaults/page.js.map +1 -1
  62. package/dist/defaults/shared.d.ts +3 -0
  63. package/dist/defaults/shared.d.ts.map +1 -1
  64. package/dist/defaults/shared.js +6 -0
  65. package/dist/defaults/shared.js.map +1 -1
  66. package/dist/defaults/videoStyle.d.ts.map +1 -1
  67. package/dist/defaults/videoStyle.js +1 -0
  68. package/dist/defaults/videoStyle.js.map +1 -1
  69. package/dist/html-backend.js +1 -1
  70. package/dist/html-backend.js.map +1 -1
  71. package/dist/index.d.ts +2 -1
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +2 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/pipeline/build.d.ts +3 -0
  76. package/dist/pipeline/build.d.ts.map +1 -1
  77. package/dist/pipeline/build.js +100 -8
  78. package/dist/pipeline/build.js.map +1 -1
  79. package/dist/pipeline/cjkGrid.d.ts +3 -2
  80. package/dist/pipeline/cjkGrid.d.ts.map +1 -1
  81. package/dist/pipeline/cjkGrid.js +8 -7
  82. package/dist/pipeline/cjkGrid.js.map +1 -1
  83. package/dist/pipeline/config.d.ts +2 -0
  84. package/dist/pipeline/config.d.ts.map +1 -1
  85. package/dist/pipeline/config.js +7 -7
  86. package/dist/pipeline/config.js.map +1 -1
  87. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  88. package/dist/pipeline/contentWarnings.js +3 -0
  89. package/dist/pipeline/contentWarnings.js.map +1 -1
  90. package/dist/pipeline/floatPlacement.d.ts +7 -0
  91. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  92. package/dist/pipeline/floatPlacement.js +7 -4
  93. package/dist/pipeline/floatPlacement.js.map +1 -1
  94. package/dist/pipeline/floatSlots.d.ts.map +1 -1
  95. package/dist/pipeline/floatSlots.js +26 -2
  96. package/dist/pipeline/floatSlots.js.map +1 -1
  97. package/dist/pipeline/headerFooter.d.ts +11 -1
  98. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  99. package/dist/pipeline/headerFooter.js +25 -0
  100. package/dist/pipeline/headerFooter.js.map +1 -1
  101. package/dist/types.d.ts +55 -6
  102. package/dist/types.d.ts.map +1 -1
  103. package/dist/vdt.d.ts +10 -1
  104. package/dist/vdt.d.ts.map +1 -1
  105. package/dist/vdt.js.map +1 -1
  106. package/dist/video/playback.d.ts +29 -0
  107. package/dist/video/playback.d.ts.map +1 -0
  108. package/dist/video/playback.js +70 -0
  109. package/dist/video/playback.js.map +1 -0
  110. package/dist/video/url.d.ts +2 -1
  111. package/dist/video/url.d.ts.map +1 -1
  112. package/dist/video/url.js +5 -1
  113. package/dist/video/url.js.map +1 -1
  114. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,9 @@ export interface PassHints {
69
69
  /** `footnotes.numbering: 'page'` / `'column'`: the number each note got
70
70
  * where the previous build set it (see `numberFootnotesByPlacement`). */
71
71
  footnoteNumbers?: ReadonlyMap<string, string>;
72
+ /** Trailing-cap passes: the page each floated resource took in the layout
73
+ * the caps level (see `proposeTrailingCap`). */
74
+ floatPages?: ReadonlyMap<string, number>;
72
75
  }
73
76
  export interface PassResult extends BandPassReport {
74
77
  doc: VDTDocument;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ import { appendChapterEndNotes, footnoteIdsOfLines, footnoteParagraphStyle, note
35
35
  import { planParts, derivePartMeasureContext } from './parts';
36
36
  import { layoutCallout, offsetBlock, offsetCalloutToAbsolute, pickCalloutStyle, planCallouts, resolveCalloutAttrs, } from './calloutLayout';
37
37
  import { layoutResourceBlock, planTableSlice } from './resourceLayout';
38
- import { computeFloatPlan, floatedResourceIds, } from './floatPlacement';
38
+ import { computeFloatPlan, floatedResourceIds, floatColumnCount, } from './floatPlacement';
39
39
  import { enumerateCurrentPageSlots, measureFloatBand, floatGapAbove, measureSideStack, clearSideObstacles, columnHasFloatBand, fitsStrict, trueBottom, } from './floatSlots';
40
40
  import { computeHeadingContext, computeResourceNumbering, } from './resourceNumbering';
41
41
  import { documentLocale, effectiveResourceTypes } from '../defaults/resourceTypes';
@@ -73,6 +73,18 @@ export class BuildCancelledError extends Error {
73
73
  this.name = 'BuildCancelledError';
74
74
  }
75
75
  }
76
+ /** The page each floated resource of `doc` lies on (its first slice's). */
77
+ function floatPagesOf(doc) {
78
+ const out = new Map();
79
+ for (const page of doc.pages) {
80
+ for (const f of page.floats ?? []) {
81
+ const id = f.resourceBlock?.resource.id;
82
+ if (id && !out.has(id))
83
+ out.set(id, page.index);
84
+ }
85
+ }
86
+ return out;
87
+ }
76
88
  /** `{chapterNumber}` at each content block: the value of the last level-1
77
89
  * heading at or before it ('' before the first), by the counter the
78
90
  * running heads use over the placed blocks (`computeChapterNumbers`) —
@@ -186,7 +198,7 @@ export function buildDocumentPass(content, config, cache, options, hints = {}) {
186
198
  }
187
199
  }
188
200
  function placeDocumentPass(content, config, cache, options, hints) {
189
- const { balanceExtraPx, balanceLooseness, balanceLooseBudget, bandCaps, captionUnder } = hints;
201
+ const { balanceExtraPx, balanceLooseness, balanceLooseBudget, bandCaps, captionUnder, floatPages } = hints;
190
202
  const captionUnderProposals = new Set();
191
203
  /** Side columns whose foot a figure's side caption has cut, by the figure. */
192
204
  const asideCutBy = new WeakMap();
@@ -599,6 +611,7 @@ function placeDocumentPass(content, config, cache, options, hints) {
599
611
  const calloutBandPages = new Set();
600
612
  const enqueueCalloutFloat = (startIdx, plan, style, L, placement, span) => {
601
613
  const key = `${CALLOUT_FLOAT_PREFIX}${startIdx}`;
614
+ const columns = plan.attrs.columns !== undefined ? floatColumnCount(plan.attrs.columns) : style.columns;
602
615
  // A keep-with-next replay passes the fence again: enqueue once.
603
616
  if (!enqueuedFloatIds.has(key)) {
604
617
  enqueuedFloatIds.add(key);
@@ -610,6 +623,7 @@ function placeDocumentPass(content, config, cache, options, hints) {
610
623
  firstBlockIdx: startIdx,
611
624
  position: placement,
612
625
  span: span === 'page' ? 'page' : 'column',
626
+ ...(span === 'column' && columns > 1 ? { columns } : {}),
613
627
  callout: { startIdx },
614
628
  ...(col ? { refPageIndex: page.index, refY: col.bbox.y + (col.bbox.height - col.availableHeight) } : {}),
615
629
  });
@@ -618,6 +632,15 @@ function placeDocumentPass(content, config, cache, options, hints) {
618
632
  for (let i = startIdx + 1; i <= plan.endIdx; i++)
619
633
  enqueueFloatsFor(i);
620
634
  };
635
+ /** The measure of `n` adjacent text columns of `col`'s band from `col`
636
+ * on, gutters included (as many as the band has). */
637
+ const acrossWidth = (page, col, n) => {
638
+ if (n <= 1)
639
+ return col.bbox.width;
640
+ const run = bandColumns(page, col.band ?? 0).filter((c) => c.kind !== 'side' && c.kind !== 'span' && c.bbox.x >= col.bbox.x - 0.5).slice(0, n);
641
+ const last = run[run.length - 1] ?? col;
642
+ return last.bbox.x + last.bbox.width - col.bbox.x;
643
+ };
621
644
  const floatGapPx = bodyStyle.lineHeightPx;
622
645
  const minTextPx = bodyStyle.lineHeightPx * 3;
623
646
  /** Fewest body rows the closing slice of a split table carries. */
@@ -981,7 +1004,9 @@ function placeDocumentPass(content, config, cache, options, hints) {
981
1004
  * measured. */
982
1005
  const probeFloatBand = (page, f, targetCols, position, pageSpan, anchorToCap, side = false, refY) => {
983
1006
  const first = targetCols[0];
984
- const slotWidth = pageSpan ? page.contentArea.width : first.bbox.width;
1007
+ const last = targetCols[targetCols.length - 1];
1008
+ // A float across several columns takes their measure, gutters included.
1009
+ const slotWidth = pageSpan ? page.contentArea.width : side ? first.bbox.width : last.bbox.x + last.bbox.width - first.bbox.x;
985
1010
  const slotX = pageSpan ? page.contentArea.x : first.bbox.x;
986
1011
  // A narrower float (`placement.width`) sits in its slot per `align`.
987
1012
  const width = f.widthFraction && f.widthFraction < 1 ? slotWidth * f.widthFraction : slotWidth;
@@ -994,7 +1019,7 @@ function placeDocumentPass(content, config, cache, options, hints) {
994
1019
  // The caption beside the figure, in the band's side column.
995
1020
  let aside;
996
1021
  let sideCol;
997
- if (f.captionSide && !pageSpan && !side && !rotated && !captionUnder?.has(f.resourceId)) {
1022
+ if (f.captionSide && !pageSpan && !side && !rotated && targetCols.length === 1 && !captionUnder?.has(f.resourceId)) {
998
1023
  const sc = sideColumnOf(page, first.band ?? 0);
999
1024
  if (sc && sc.bbox.width > 0.5) {
1000
1025
  sideCol = sc;
@@ -1377,6 +1402,29 @@ function placeDocumentPass(content, config, cache, options, hints) {
1377
1402
  }
1378
1403
  return best;
1379
1404
  };
1405
+ /** The run of `n` adjacent text columns a float across several
1406
+ * columns takes on a fresh page: the least reserved at the head (or
1407
+ * foot) of those whose bands start (or end) level, the leftmost of
1408
+ * equals, after a split table's previous slice. */
1409
+ const leastReservedGroup = (f, n, pos) => {
1410
+ const after = f.notBefore && f.notBefore.pageIndex === page.index ? f.notBefore.columnIndex : -1;
1411
+ let best;
1412
+ let bestLoad = Infinity;
1413
+ for (let i = 0; i + n <= textCols.length; i++) {
1414
+ const group = textCols.slice(i, i + n);
1415
+ if (group[0].index <= after)
1416
+ continue;
1417
+ const edge = (c) => (pos === 'top' ? c.bbox.y : c.bbox.y + c.bbox.height);
1418
+ if (!group.every((c) => Math.abs(edge(c) - edge(group[0])) < 0.5))
1419
+ continue;
1420
+ const load = group.reduce((m, c) => Math.max(m, reservedOf(c).top + reservedOf(c).bottom), 0);
1421
+ if (load < bestLoad - 0.5) {
1422
+ best = group;
1423
+ bestLoad = load;
1424
+ }
1425
+ }
1426
+ return best;
1427
+ };
1380
1428
  // Order of the passes: page-span floats take the outer bands; column
1381
1429
  // floats whose caption goes to the side column reserve it before the
1382
1430
  // waiting side boxes and side floats stack there; the rest follow.
@@ -1398,7 +1446,8 @@ function placeDocumentPass(content, config, cache, options, hints) {
1398
1446
  let i = 0;
1399
1447
  while (i < pendingFloats.length) {
1400
1448
  const f = pendingFloats[i];
1401
- const isPageSpan = f.span === 'page' && (textCols.length > 1 || sideCols.length > 0);
1449
+ const across = Math.min(f.columns ?? 1, textCols.length);
1450
+ const isPageSpan = (f.span === 'page' || (across > 1 && across === textCols.length)) && (textCols.length > 1 || sideCols.length > 0);
1402
1451
  const isSide = !isPageSpan && f.span === 'side' && sideCols.length > 0;
1403
1452
  const kind = isPageSpan ? 'page' : isSide ? 'side' : f.captionSide && sideCols.length > 0 ? 'aside' : 'column';
1404
1453
  if (kind !== pass || heldBack(i)) {
@@ -1416,6 +1465,15 @@ function placeDocumentPass(content, config, cache, options, hints) {
1416
1465
  }
1417
1466
  else {
1418
1467
  for (const pos of positionsFor(f)) {
1468
+ if (!isPageSpan && across > 1) {
1469
+ const group = leastReservedGroup(f, across, pos);
1470
+ if (!group)
1471
+ continue;
1472
+ r = placeFloatInColumns(page, f, group, pos, false, 'fresh');
1473
+ if (r !== 'defer')
1474
+ break;
1475
+ continue;
1476
+ }
1419
1477
  const col = isPageSpan ? undefined : leastReserved(f);
1420
1478
  if (!isPageSpan && !col)
1421
1479
  break;
@@ -2399,7 +2457,14 @@ function placeDocumentPass(content, config, cache, options, hints) {
2399
2457
  return;
2400
2458
  if (activeCap && activeCap.spanIndex === boundaryIndex
2401
2459
  && activeCap.pageIndex === page.index && activeCap.band === band) {
2402
- spanPlacedInBand.add(boundaryIndex);
2460
+ // The cut must not cost a float its page: one the uncut layout set on
2461
+ // this page and the cut band left no room for (a picture across
2462
+ // several columns that fitted beside the uneven columns) would go to
2463
+ // a page of its own at the chapter's end. Not delivered: the cap is
2464
+ // tried a line lower, then dropped (#505).
2465
+ const displaced = floatPages && pendingFloats.some((f) => floatPages.get(f.resourceId) === page.index);
2466
+ if (!displaced)
2467
+ spanPlacedInBand.add(boundaryIndex);
2403
2468
  return;
2404
2469
  }
2405
2470
  // A cap in force for this boundary that did not open the band the
@@ -3713,7 +3778,9 @@ function placeDocumentPass(content, config, cache, options, hints) {
3713
3778
  const floating = (placement === 'auto' || placement === 'top' || placement === 'bottom') && span !== 'side';
3714
3779
  if (floating) {
3715
3780
  const page = doc.pages[cursor.pageIndex];
3716
- const width = span === 'page' ? page.contentArea.width : currentColumn(doc, cursor).bbox.width;
3781
+ const col = currentColumn(doc, cursor);
3782
+ const across = span === 'column' ? (plan.attrs.columns !== undefined ? floatColumnCount(plan.attrs.columns) : style.columns) : 1;
3783
+ const width = span === 'page' ? page.contentArea.width : acrossWidth(page, col, across);
3717
3784
  const inFlow = tallerThanColumn(L.layoutRange(CUT_START, L.end, width, 'float-probe', false))
3718
3785
  && splitCalloutFragment(L, CUT_START, width, contentArea.height, 'float-probe', false, style.splitMinLines) !== null;
3719
3786
  if (!inFlow) {
@@ -5882,6 +5949,25 @@ function* buildDocumentBalanced(content, config, cache, options, tocRound = 0, f
5882
5949
  }
5883
5950
  return owner;
5884
5951
  };
5952
+ /** Whether two block lists set the same content: every content index
5953
+ * that one places, the other places too (in however many pieces). */
5954
+ const sameContent = (a, b) => {
5955
+ const set = (list) => {
5956
+ const out = new Set();
5957
+ for (const blk of list)
5958
+ if (blk.contentIndex !== undefined)
5959
+ out.add(blk.contentIndex);
5960
+ return out;
5961
+ };
5962
+ const sa = set(a);
5963
+ const sb = set(b);
5964
+ if (sa.size !== sb.size)
5965
+ return false;
5966
+ for (const k of sa)
5967
+ if (!sb.has(k))
5968
+ return false;
5969
+ return true;
5970
+ };
5885
5971
  /** First page each content index was placed on. */
5886
5972
  const pageOfContent = (doc) => {
5887
5973
  const m = new Map();
@@ -5927,6 +6013,12 @@ function* buildDocumentBalanced(content, config, cache, options, tocRound = 0, f
5927
6013
  ...(best.doc.warnings ?? []).filter((w) => !taken(w.pageIndex)),
5928
6014
  ...(next.doc.warnings ?? []).filter((w) => taken(w.pageIndex)),
5929
6015
  ].sort((a, b) => (a.pageIndex ?? -1) - (b.pageIndex ?? -1));
6016
+ // Everything the layout sets must survive the splice: a float or box
6017
+ // that moved to a page outside the ranges in `next` (one drained before
6018
+ // a chapter's end) would otherwise drop out of both halves (#515).
6019
+ // Such a splice is not taken.
6020
+ if (!sameContent(blocks, next.doc.blocks))
6021
+ return best;
5930
6022
  const doc = { ...best.doc, pages, blocks, ...(warnings.length > 0 ? { warnings } : { warnings: undefined }) };
5931
6023
  const pageBest = pageOfContent(best.doc);
5932
6024
  const pageNext = pageOfContent(next.doc);
@@ -6173,7 +6265,7 @@ function* buildDocumentBalanced(content, config, cache, options, tocRound = 0, f
6173
6265
  // fill what the cut left short (a column ending a line under the cap).
6174
6266
  if (balancing.trailing) {
6175
6267
  const frozen = hintsFrom(applied.lines, applied.loose);
6176
- const trailing = yield* resolveTrailingCapsGen(best, bandCaps, (caps) => runPass({ ...frozen, bandCaps: caps }));
6268
+ const trailing = yield* resolveTrailingCapsGen(best, bandCaps, (caps) => runPass({ ...frozen, bandCaps: caps, floatPages: floatPagesOf(best.doc) }));
6177
6269
  passCount += trailing.passCount;
6178
6270
  if (trailing.result !== best) {
6179
6271
  best = trailing.result;