postext 0.3.19 → 0.3.21
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 +36 -2
- package/dist/__tests__/columnBalancing.test.js.map +1 -1
- package/dist/__tests__/defaults/calloutStyles.test.d.ts +2 -0
- package/dist/__tests__/defaults/calloutStyles.test.d.ts.map +1 -0
- package/dist/__tests__/defaults/calloutStyles.test.js +201 -0
- package/dist/__tests__/defaults/calloutStyles.test.js.map +1 -0
- package/dist/__tests__/defaults/captionStyle.test.d.ts +2 -0
- package/dist/__tests__/defaults/captionStyle.test.d.ts.map +1 -0
- package/dist/__tests__/defaults/captionStyle.test.js +87 -0
- package/dist/__tests__/defaults/captionStyle.test.js.map +1 -0
- package/dist/__tests__/defaults/pageSizePreset.test.d.ts +2 -0
- package/dist/__tests__/defaults/pageSizePreset.test.d.ts.map +1 -0
- package/dist/__tests__/defaults/pageSizePreset.test.js +24 -0
- package/dist/__tests__/defaults/pageSizePreset.test.js.map +1 -0
- package/dist/__tests__/defaults/paragraphStyles.test.d.ts +2 -0
- package/dist/__tests__/defaults/paragraphStyles.test.d.ts.map +1 -0
- package/dist/__tests__/defaults/paragraphStyles.test.js +93 -0
- package/dist/__tests__/defaults/paragraphStyles.test.js.map +1 -0
- package/dist/__tests__/design/pageAnchors.test.d.ts +2 -0
- package/dist/__tests__/design/pageAnchors.test.d.ts.map +1 -0
- package/dist/__tests__/design/pageAnchors.test.js +140 -0
- package/dist/__tests__/design/pageAnchors.test.js.map +1 -0
- package/dist/__tests__/directives.test.js +58 -0
- package/dist/__tests__/directives.test.js.map +1 -1
- package/dist/__tests__/exports.test.js +19 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/mirroredMargins.test.d.ts +2 -0
- package/dist/__tests__/mirroredMargins.test.d.ts.map +1 -0
- package/dist/__tests__/mirroredMargins.test.js +136 -0
- package/dist/__tests__/mirroredMargins.test.js.map +1 -0
- package/dist/__tests__/numbering.test.js +54 -0
- package/dist/__tests__/numbering.test.js.map +1 -1
- package/dist/__tests__/openerTitleSource.test.d.ts +2 -0
- package/dist/__tests__/openerTitleSource.test.d.ts.map +1 -0
- package/dist/__tests__/openerTitleSource.test.js +108 -0
- package/dist/__tests__/openerTitleSource.test.js.map +1 -0
- package/dist/__tests__/overStretch.test.d.ts +2 -0
- package/dist/__tests__/overStretch.test.d.ts.map +1 -0
- package/dist/__tests__/overStretch.test.js +35 -0
- package/dist/__tests__/overStretch.test.js.map +1 -0
- package/dist/__tests__/pageRoles.test.d.ts +2 -0
- package/dist/__tests__/pageRoles.test.d.ts.map +1 -0
- package/dist/__tests__/pageRoles.test.js +95 -0
- package/dist/__tests__/pageRoles.test.js.map +1 -0
- package/dist/__tests__/parse/containers.test.d.ts +2 -0
- package/dist/__tests__/parse/containers.test.d.ts.map +1 -0
- package/dist/__tests__/parse/containers.test.js +204 -0
- package/dist/__tests__/parse/containers.test.js.map +1 -0
- package/dist/__tests__/parse/headingAttrs.test.d.ts +2 -0
- package/dist/__tests__/parse/headingAttrs.test.d.ts.map +1 -0
- package/dist/__tests__/parse/headingAttrs.test.js +62 -0
- package/dist/__tests__/parse/headingAttrs.test.js.map +1 -0
- package/dist/__tests__/parse/inlineRef.test.js +26 -0
- package/dist/__tests__/parse/inlineRef.test.js.map +1 -1
- package/dist/__tests__/parts.test.d.ts +2 -0
- package/dist/__tests__/parts.test.d.ts.map +1 -0
- package/dist/__tests__/parts.test.js +405 -0
- package/dist/__tests__/parts.test.js.map +1 -0
- package/dist/__tests__/pipeline/calloutLayout.test.d.ts +2 -0
- package/dist/__tests__/pipeline/calloutLayout.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/calloutLayout.test.js +273 -0
- package/dist/__tests__/pipeline/calloutLayout.test.js.map +1 -0
- package/dist/__tests__/pipeline/calloutPlacement.test.d.ts +2 -0
- package/dist/__tests__/pipeline/calloutPlacement.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/calloutPlacement.test.js +239 -0
- package/dist/__tests__/pipeline/calloutPlacement.test.js.map +1 -0
- package/dist/__tests__/pipeline/captionLayout.test.d.ts +2 -0
- package/dist/__tests__/pipeline/captionLayout.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/captionLayout.test.js +269 -0
- package/dist/__tests__/pipeline/captionLayout.test.js.map +1 -0
- package/dist/__tests__/pipeline/inlineRefRender.test.js +53 -0
- package/dist/__tests__/pipeline/inlineRefRender.test.js.map +1 -1
- package/dist/__tests__/pipeline/orderedSeparator.test.d.ts +2 -0
- package/dist/__tests__/pipeline/orderedSeparator.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/orderedSeparator.test.js +196 -0
- package/dist/__tests__/pipeline/orderedSeparator.test.js.map +1 -0
- package/dist/__tests__/pipeline/paragraphStyles.test.d.ts +2 -0
- package/dist/__tests__/pipeline/paragraphStyles.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/paragraphStyles.test.js +172 -0
- package/dist/__tests__/pipeline/paragraphStyles.test.js.map +1 -0
- package/dist/__tests__/pipeline/spanBands.test.d.ts +2 -0
- package/dist/__tests__/pipeline/spanBands.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/spanBands.test.js +303 -0
- package/dist/__tests__/pipeline/spanBands.test.js.map +1 -0
- package/dist/__tests__/pipeline/spanBlocks.test.d.ts +2 -0
- package/dist/__tests__/pipeline/spanBlocks.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/spanBlocks.test.js +407 -0
- package/dist/__tests__/pipeline/spanBlocks.test.js.map +1 -0
- package/dist/__tests__/placeholders.test.d.ts +2 -0
- package/dist/__tests__/placeholders.test.d.ts.map +1 -0
- package/dist/__tests__/placeholders.test.js +130 -0
- package/dist/__tests__/placeholders.test.js.map +1 -0
- package/dist/__tests__/table/model.test.js +24 -0
- package/dist/__tests__/table/model.test.js.map +1 -1
- package/dist/__tests__/tracking.test.d.ts +2 -0
- package/dist/__tests__/tracking.test.d.ts.map +1 -0
- package/dist/__tests__/tracking.test.js +37 -0
- package/dist/__tests__/tracking.test.js.map +1 -0
- package/dist/__tests__/urlBreaks.test.d.ts +2 -0
- package/dist/__tests__/urlBreaks.test.d.ts.map +1 -0
- package/dist/__tests__/urlBreaks.test.js +57 -0
- package/dist/__tests__/urlBreaks.test.js.map +1 -0
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +20 -1
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/decorations.d.ts +3 -0
- package/dist/canvas-backend/decorations.d.ts.map +1 -1
- package/dist/canvas-backend/decorations.js +14 -8
- package/dist/canvas-backend/decorations.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +23 -0
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +4 -2
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +33 -5
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/columnRule.d.ts +19 -0
- package/dist/columnRule.d.ts.map +1 -0
- package/dist/columnRule.js +36 -0
- package/dist/columnRule.js.map +1 -0
- package/dist/defaults/bodyText.js +1 -1
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts +61 -0
- package/dist/defaults/calloutStyles.d.ts.map +1 -0
- package/dist/defaults/calloutStyles.js +292 -0
- package/dist/defaults/calloutStyles.js.map +1 -0
- package/dist/defaults/captionStyle.d.ts +11 -1
- package/dist/defaults/captionStyle.d.ts.map +1 -1
- package/dist/defaults/captionStyle.js +127 -2
- package/dist/defaults/captionStyle.js.map +1 -1
- package/dist/defaults/headerFooter.d.ts.map +1 -1
- package/dist/defaults/headerFooter.js +3 -0
- package/dist/defaults/headerFooter.js.map +1 -1
- package/dist/defaults/headings.d.ts +3 -0
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +33 -6
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +4 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +28 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/orderedLists.d.ts +9 -8
- package/dist/defaults/orderedLists.d.ts.map +1 -1
- package/dist/defaults/orderedLists.js +66 -4
- package/dist/defaults/orderedLists.js.map +1 -1
- package/dist/defaults/page.d.ts.map +1 -1
- package/dist/defaults/page.js +14 -3
- package/dist/defaults/page.js.map +1 -1
- package/dist/defaults/paragraphStyles.d.ts +10 -0
- package/dist/defaults/paragraphStyles.d.ts.map +1 -0
- package/dist/defaults/paragraphStyles.js +67 -0
- package/dist/defaults/paragraphStyles.js.map +1 -0
- package/dist/defaults/parts.d.ts +22 -0
- package/dist/defaults/parts.d.ts.map +1 -0
- package/dist/defaults/parts.js +139 -0
- package/dist/defaults/parts.js.map +1 -0
- package/dist/defaults/shared.d.ts.map +1 -1
- package/dist/defaults/shared.js +110 -17
- package/dist/defaults/shared.js.map +1 -1
- package/dist/defaults/tableStyle.d.ts.map +1 -1
- package/dist/defaults/tableStyle.js +6 -0
- package/dist/defaults/tableStyle.js.map +1 -1
- package/dist/design/layout.d.ts +27 -1
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +39 -8
- package/dist/design/layout.js.map +1 -1
- package/dist/design/placeholders.d.ts +21 -4
- package/dist/design/placeholders.d.ts.map +1 -1
- package/dist/design/placeholders.js +38 -7
- package/dist/design/placeholders.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +75 -16
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +13 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
- package/dist/knuthPlass/breakpoints.js +4 -2
- package/dist/knuthPlass/breakpoints.js.map +1 -1
- package/dist/knuthPlass/constants.d.ts +7 -0
- package/dist/knuthPlass/constants.d.ts.map +1 -1
- package/dist/knuthPlass/constants.js +7 -0
- package/dist/knuthPlass/constants.js.map +1 -1
- package/dist/knuthPlass/richAdapter.d.ts +2 -0
- package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/richAdapter.js +6 -6
- package/dist/knuthPlass/richAdapter.js.map +1 -1
- package/dist/measure/cache.js +2 -2
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/rich.d.ts +8 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +54 -10
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/types.d.ts +4 -0
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js.map +1 -1
- package/dist/parse/attrs.d.ts +10 -0
- package/dist/parse/attrs.d.ts.map +1 -0
- package/dist/parse/attrs.js +20 -0
- package/dist/parse/attrs.js.map +1 -0
- package/dist/parse/blockParser.d.ts +8 -4
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +134 -20
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/index.d.ts +2 -2
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js +1 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +17 -1
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +56 -7
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/sourceMapping.d.ts.map +1 -1
- package/dist/parse/sourceMapping.js +13 -1
- package/dist/parse/sourceMapping.js.map +1 -1
- package/dist/parse/types.d.ts +55 -5
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/bandCaps.d.ts +86 -0
- package/dist/pipeline/bandCaps.d.ts.map +1 -0
- package/dist/pipeline/bandCaps.js +142 -0
- package/dist/pipeline/bandCaps.js.map +1 -0
- package/dist/pipeline/build.d.ts +41 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +675 -168
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts +8 -0
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +40 -11
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts +23 -1
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +50 -6
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts +107 -0
- package/dist/pipeline/calloutLayout.d.ts.map +1 -0
- package/dist/pipeline/calloutLayout.js +498 -0
- package/dist/pipeline/calloutLayout.js.map +1 -0
- package/dist/pipeline/columnBalancing.d.ts +26 -8
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +50 -18
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +17 -5
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +37 -2
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +231 -15
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/lists.d.ts +15 -0
- package/dist/pipeline/lists.d.ts.map +1 -1
- package/dist/pipeline/lists.js +73 -16
- package/dist/pipeline/lists.js.map +1 -1
- package/dist/pipeline/measureContentBlock.d.ts +65 -0
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -0
- package/dist/pipeline/measureContentBlock.js +134 -0
- package/dist/pipeline/measureContentBlock.js.map +1 -0
- package/dist/pipeline/pageRoles.d.ts +23 -0
- package/dist/pipeline/pageRoles.d.ts.map +1 -0
- package/dist/pipeline/pageRoles.js +54 -0
- package/dist/pipeline/pageRoles.js.map +1 -0
- package/dist/pipeline/paragraphContainers.d.ts +32 -0
- package/dist/pipeline/paragraphContainers.d.ts.map +1 -0
- package/dist/pipeline/paragraphContainers.js +61 -0
- package/dist/pipeline/paragraphContainers.js.map +1 -0
- package/dist/pipeline/parts.d.ts +47 -0
- package/dist/pipeline/parts.d.ts.map +1 -0
- package/dist/pipeline/parts.js +230 -0
- package/dist/pipeline/parts.js.map +1 -0
- package/dist/pipeline/placeholders.d.ts +46 -1
- package/dist/pipeline/placeholders.d.ts.map +1 -1
- package/dist/pipeline/placeholders.js +93 -11
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/placement.d.ts +61 -7
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +151 -12
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +18 -5
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +145 -23
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/styles.d.ts +9 -1
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +50 -0
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/table/model.d.ts.map +1 -1
- package/dist/table/model.js +16 -2
- package/dist/table/model.js.map +1 -1
- package/dist/types.d.ts +468 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +132 -4
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +2 -1
- package/dist/vdt.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-block measurement for the placement loop: resolves a parsed content
|
|
3
|
+
* block into its kind/style, enriches inline math and `:ref` spans, lays out
|
|
4
|
+
* the text (or the resource group) against a column width, and stamps source
|
|
5
|
+
* ranges. Pure with respect to the document — nothing here touches pages,
|
|
6
|
+
* columns, or the cursor — so the main loop can re-run it freely (e.g. the
|
|
7
|
+
* column-balancing "loose paragraph" re-measure) and stays focused on
|
|
8
|
+
* placement decisions.
|
|
9
|
+
*/
|
|
10
|
+
import type { ContentBlock } from '../parse';
|
|
11
|
+
import type { Resource, ResourceType } from '../types';
|
|
12
|
+
import type { ResolvedResourceBlock } from '../vdt';
|
|
13
|
+
import type { MeasuredBlock, MeasurementCache } from '../measure';
|
|
14
|
+
import type { renderMath } from '../math';
|
|
15
|
+
import type { BlockStyle } from './styles';
|
|
16
|
+
import { type BlockKind, type BlockKindContext } from './buildBlockKind';
|
|
17
|
+
import type { ResourceNumberingMap } from './resourceNumbering';
|
|
18
|
+
/** Everything `measureContentBlock` needs that is constant across one
|
|
19
|
+
* placement pass. Built once before the loop; `blockIdx` and the paragraph
|
|
20
|
+
* style override are per-call (see `measureContentBlock` arguments). */
|
|
21
|
+
export interface BlockMeasureContext extends Omit<BlockKindContext, 'blockIdx' | 'paragraphStyleOverride'> {
|
|
22
|
+
/** The parsed blocks of the document — for neighbour lookaheads. */
|
|
23
|
+
contentBlocks: readonly ContentBlock[];
|
|
24
|
+
cache?: MeasurementCache;
|
|
25
|
+
/** Source offset of the markdown body inside the original document. */
|
|
26
|
+
bodyOffset: number;
|
|
27
|
+
resources: Resource[];
|
|
28
|
+
resourceTypes: ResourceType[];
|
|
29
|
+
resourceNumbering: ResourceNumberingMap;
|
|
30
|
+
/** Ids of resources that float to page bands (never placed inline). */
|
|
31
|
+
floatedIds: ReadonlySet<string>;
|
|
32
|
+
}
|
|
33
|
+
export interface MeasuredContentBlock {
|
|
34
|
+
kind: BlockKind;
|
|
35
|
+
/** The block after math/ref enrichment — what was actually measured. */
|
|
36
|
+
contentBlock: ContentBlock;
|
|
37
|
+
measured: MeasuredBlock;
|
|
38
|
+
/** Length of the heading-number prefix prepended to the plain text. */
|
|
39
|
+
prefixLen: number;
|
|
40
|
+
/** `rawBlock.sourceMap` shifted by `bodyOffset`. */
|
|
41
|
+
absoluteSourceMap: number[];
|
|
42
|
+
mathDisplayRender?: ReturnType<typeof renderMath>;
|
|
43
|
+
/** Present for `resource` kinds: the laid-out image/table + caption group. */
|
|
44
|
+
resourceBlock?: ResolvedResourceBlock;
|
|
45
|
+
/** Tracking the text was measured with (px per glyph), when column
|
|
46
|
+
* balancing asked for it — renderers must paint the block with it. */
|
|
47
|
+
letterSpacingPx?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface MeasureContentBlockOptions {
|
|
50
|
+
/** Column-balancing "run a paragraph long" — Knuth-Plass looseness. Left
|
|
51
|
+
* undefined for the common case so measurement cache keys are unchanged. */
|
|
52
|
+
looseness?: number;
|
|
53
|
+
/** Column-balancing tracking for a loose paragraph, in em per glyph
|
|
54
|
+
* (`headings.balancing.maxTracking / 1000` at most). Rich path only. */
|
|
55
|
+
trackingEm?: number;
|
|
56
|
+
/** Paragraph style forced by an enclosing `:::paragraphs` container. */
|
|
57
|
+
styleOverride?: BlockStyle;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Resolve and measure one content block at `columnWidth`. Returns `null` when
|
|
61
|
+
* there is nothing to place inline: empty text, an unknown resource id, or a
|
|
62
|
+
* resource that floats to a page band.
|
|
63
|
+
*/
|
|
64
|
+
export declare function measureContentBlock(rawBlock: ContentBlock, blockIdx: number, columnWidth: number, ctx: BlockMeasureContext, opts?: MeasureContentBlockOptions): MeasuredContentBlock | null;
|
|
65
|
+
//# sourceMappingURL=measureContentBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureContentBlock.d.ts","sourceRoot":"","sources":["../../src/pipeline/measureContentBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAO3C,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;yEAEyE;AACzE,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,wBAAwB,CAAC;IACrE,oEAAoE;IACpE,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,uEAAuE;IACvE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,wEAAwE;IACxE,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAClD,8EAA8E;IAC9E,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;2EACuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC;iFAC6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6EACyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,mBAAmB,EACxB,IAAI,CAAC,EAAE,0BAA0B,GAChC,oBAAoB,GAAG,IAAI,CAoI7B"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-block measurement for the placement loop: resolves a parsed content
|
|
3
|
+
* block into its kind/style, enriches inline math and `:ref` spans, lays out
|
|
4
|
+
* the text (or the resource group) against a column width, and stamps source
|
|
5
|
+
* ranges. Pure with respect to the document — nothing here touches pages,
|
|
6
|
+
* columns, or the cursor — so the main loop can re-run it freely (e.g. the
|
|
7
|
+
* column-balancing "loose paragraph" re-measure) and stays focused on
|
|
8
|
+
* placement decisions.
|
|
9
|
+
*/
|
|
10
|
+
import { computeMeasureViewport, enrichMathSpans, isMarkerBlock, stampSourceRanges, } from './buildHelpers';
|
|
11
|
+
import { resolveBlockKind } from './buildBlockKind';
|
|
12
|
+
import { runMeasurement } from './buildMeasurement';
|
|
13
|
+
import { resolveRefSpans } from './resourceLayout';
|
|
14
|
+
/**
|
|
15
|
+
* Resolve and measure one content block at `columnWidth`. Returns `null` when
|
|
16
|
+
* there is nothing to place inline: empty text, an unknown resource id, or a
|
|
17
|
+
* resource that floats to a page band.
|
|
18
|
+
*/
|
|
19
|
+
export function measureContentBlock(rawBlock, blockIdx, columnWidth, ctx, opts) {
|
|
20
|
+
const { resolved, bodyStyle, contentBlocks, cache, bodyOffset } = ctx;
|
|
21
|
+
const kind = resolveBlockKind(rawBlock, {
|
|
22
|
+
...ctx,
|
|
23
|
+
blockIdx,
|
|
24
|
+
paragraphStyleOverride: opts?.styleOverride,
|
|
25
|
+
});
|
|
26
|
+
const { style, vdtType, listBullet } = kind;
|
|
27
|
+
let contentBlock = kind.contentBlock;
|
|
28
|
+
const mathEnabled = resolved.math.enabled;
|
|
29
|
+
// --- Resource blocks (image / svg / table + caption) -----------------
|
|
30
|
+
// Laid out as one atomic group. Unknown ids produce nothing (the warnings
|
|
31
|
+
// phase surfaces them); floated resources are anchored by their directive
|
|
32
|
+
// but land in a page band, so they are never measured inline.
|
|
33
|
+
if (vdtType === 'resource') {
|
|
34
|
+
if (!kind.resource || ctx.floatedIds.has(kind.resource.id))
|
|
35
|
+
return null;
|
|
36
|
+
const { resourceBlock, measured } = runMeasurement({
|
|
37
|
+
vdtType,
|
|
38
|
+
rawBlock,
|
|
39
|
+
contentBlock,
|
|
40
|
+
style,
|
|
41
|
+
measureMaxWidth: columnWidth,
|
|
42
|
+
measureOptions: { textAlign: style.textAlign },
|
|
43
|
+
mathEnabled,
|
|
44
|
+
useRich: false,
|
|
45
|
+
resolved,
|
|
46
|
+
resources: ctx.resources,
|
|
47
|
+
resourceTypes: ctx.resourceTypes,
|
|
48
|
+
resourceNumbering: ctx.resourceNumbering,
|
|
49
|
+
resource: kind.resource,
|
|
50
|
+
resourceType: kind.resourceType,
|
|
51
|
+
resourceNumber: kind.resourceNumber,
|
|
52
|
+
});
|
|
53
|
+
if (!resourceBlock)
|
|
54
|
+
return null;
|
|
55
|
+
return { kind, contentBlock, measured, prefixLen: 0, absoluteSourceMap: [], resourceBlock };
|
|
56
|
+
}
|
|
57
|
+
// Resolve inline math on spans (no-op when the block has no math).
|
|
58
|
+
contentBlock = enrichMathSpans(contentBlock, style, resolved);
|
|
59
|
+
// Resolve inline `:ref{…}` spans to their computed label so references
|
|
60
|
+
// print their number in the running text. Each label becomes one atomic,
|
|
61
|
+
// non-breaking token tagged with its `refResourceId` (handled by the
|
|
62
|
+
// rich-text measurer), so we always take the rich path for ref blocks.
|
|
63
|
+
if (contentBlock.spans.some((s) => s.ref)) {
|
|
64
|
+
contentBlock = {
|
|
65
|
+
...contentBlock,
|
|
66
|
+
spans: resolveRefSpans(contentBlock.spans, ctx.resourceNumbering, ctx.resourceTypes, ctx.resources, {
|
|
67
|
+
bold: bodyStyle.referenceBold ?? true,
|
|
68
|
+
italic: bodyStyle.referenceItalic ?? false,
|
|
69
|
+
}),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const hasRichSpans = contentBlock.spans.some((s) => s.bold || s.italic || s.mathRender || s.ref);
|
|
73
|
+
// List items reserve horizontal space for indent + bullet + gap.
|
|
74
|
+
const { measureMaxWidth, lineXShift, measureFirstLineIndent, measureHangingIndent, } = computeMeasureViewport(columnWidth, style, listBullet);
|
|
75
|
+
// First-paragraph-after-heading: typographic convention used in many
|
|
76
|
+
// scientific publications and book styles where the paragraph that
|
|
77
|
+
// immediately follows a heading is rendered without first-line indent.
|
|
78
|
+
// Only applies to regular paragraphs without hanging indent; list items
|
|
79
|
+
// and hanging-indent paragraphs are unaffected.
|
|
80
|
+
let effectiveFirstLineIndent = measureFirstLineIndent;
|
|
81
|
+
if (vdtType === 'paragraph'
|
|
82
|
+
&& !resolved.bodyText.indentAfterHeading
|
|
83
|
+
&& !style.hangingIndent
|
|
84
|
+
&& blockIdx > 0) {
|
|
85
|
+
let prevIdx = blockIdx - 1;
|
|
86
|
+
while (prevIdx >= 0
|
|
87
|
+
&& (contentBlocks[prevIdx].type === 'directive' || isMarkerBlock(contentBlocks[prevIdx])))
|
|
88
|
+
prevIdx--;
|
|
89
|
+
if (prevIdx >= 0 && contentBlocks[prevIdx].type === 'heading') {
|
|
90
|
+
effectiveFirstLineIndent = 0;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const runtActive = resolved.bodyText.avoidRunts
|
|
94
|
+
&& (vdtType === 'paragraph'
|
|
95
|
+
|| (vdtType === 'listItem' && resolved.bodyText.avoidRuntsInLists));
|
|
96
|
+
// Tracking is measured on the rich path (per-token canvas widths); left
|
|
97
|
+
// undefined when unused so the common-case cache keys stay unchanged.
|
|
98
|
+
const hasRichFonts = !!(style.boldFontString && style.italicFontString && style.boldItalicFontString);
|
|
99
|
+
const letterSpacingPx = hasRichFonts && opts?.trackingEm ? opts.trackingEm * style.fontSizePx : 0;
|
|
100
|
+
const measureOptions = {
|
|
101
|
+
textAlign: style.textAlign,
|
|
102
|
+
hyphenate: style.hyphenate,
|
|
103
|
+
firstLineIndentPx: effectiveFirstLineIndent,
|
|
104
|
+
hangingIndent: measureHangingIndent,
|
|
105
|
+
optimal: resolved.bodyText.optimalLineBreaking,
|
|
106
|
+
maxStretchRatio: resolved.bodyText.maxWordSpacing,
|
|
107
|
+
minShrinkRatio: resolved.bodyText.minWordSpacing,
|
|
108
|
+
runtPenalty: runtActive ? resolved.bodyText.runtPenalty : 0,
|
|
109
|
+
runtMinCharacters: runtActive ? resolved.bodyText.runtMinCharacters : 0,
|
|
110
|
+
looseness: opts?.looseness,
|
|
111
|
+
letterSpacingPx: letterSpacingPx > 0 ? letterSpacingPx : undefined,
|
|
112
|
+
};
|
|
113
|
+
// URLs / DOIs get their bare break opportunities on the rich path only.
|
|
114
|
+
const hasUrl = /(?:^|\s)(?:(?:https?|ftp):\/\/|www\.|10\.\d{4,}\/)\S/i.test(contentBlock.text);
|
|
115
|
+
const useRich = hasRichFonts && (hasRichSpans || letterSpacingPx > 0 || hasUrl);
|
|
116
|
+
const { measured, mathDisplayRender } = runMeasurement({
|
|
117
|
+
vdtType, rawBlock, contentBlock, style, measureMaxWidth, measureOptions, mathEnabled, useRich, cache,
|
|
118
|
+
});
|
|
119
|
+
if (measured.lines.length === 0)
|
|
120
|
+
return null;
|
|
121
|
+
if (lineXShift > 0) {
|
|
122
|
+
for (const line of measured.lines) {
|
|
123
|
+
line.bbox.x += lineXShift;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Per-line source-range mapping using the block's plain→source map.
|
|
127
|
+
// Accounts for heading numbering prefix which prepends chars with no source.
|
|
128
|
+
const { prefixLen, absoluteSourceMap } = stampSourceRanges(measured, rawBlock, contentBlock, bodyOffset);
|
|
129
|
+
return {
|
|
130
|
+
kind, contentBlock, measured, prefixLen, absoluteSourceMap, mathDisplayRender,
|
|
131
|
+
...(letterSpacingPx > 0 ? { letterSpacingPx } : {}),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=measureContentBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureContentBlock.js","sourceRoot":"","sources":["../../src/pipeline/measureContentBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAyC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAgDnD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAsB,EACtB,QAAgB,EAChB,WAAmB,EACnB,GAAwB,EACxB,IAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAEtE,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE;QACtC,GAAG,GAAG;QACN,QAAQ;QACR,sBAAsB,EAAE,IAAI,EAAE,aAAa;KAC5C,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5C,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;IAE1C,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,8DAA8D;IAC9D,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACxE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;YACjD,OAAO;YACP,QAAQ;YACR,YAAY;YACZ,KAAK;YACL,eAAe,EAAE,WAAW;YAC5B,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;YAC9C,WAAW;YACX,OAAO,EAAE,KAAK;YACd,QAAQ;YACR,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;IAC9F,CAAC;IAED,mEAAmE;IACnE,YAAY,GAAG,eAAe,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE9D,uEAAuE;IACvE,yEAAyE;IACzE,qEAAqE;IACrE,uEAAuE;IACvE,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,YAAY,GAAG;YACb,GAAG,YAAY;YACf,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE;gBAClG,IAAI,EAAE,SAAS,CAAC,aAAa,IAAI,IAAI;gBACrC,MAAM,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;aAC3C,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEjG,iEAAiE;IACjE,MAAM,EACJ,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,oBAAoB,GACrB,GAAG,sBAAsB,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAE3D,qEAAqE;IACrE,mEAAmE;IACnE,uEAAuE;IACvE,wEAAwE;IACxE,gDAAgD;IAChD,IAAI,wBAAwB,GAAG,sBAAsB,CAAC;IACtD,IACE,OAAO,KAAK,WAAW;WACpB,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB;WACrC,CAAC,KAAK,CAAC,aAAa;WACpB,QAAQ,GAAG,CAAC,EACf,CAAC;QACD,IAAI,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC3B,OACE,OAAO,IAAI,CAAC;eACT,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,IAAI,KAAK,WAAW,IAAI,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1F,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,IAAI,CAAC,IAAI,aAAa,CAAC,OAAO,CAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/D,wBAAwB,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU;WAC1C,CAAC,OAAO,KAAK,WAAW;eACtB,CAAC,OAAO,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACtG,MAAM,eAAe,GAAG,YAAY,IAAI,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,cAAc,GAAG;QACrB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,iBAAiB,EAAE,wBAAwB;QAC3C,aAAa,EAAE,oBAAoB;QACnC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,mBAAmB;QAC9C,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc;QACjD,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc;QAChD,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3D,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvE,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;KACnE,CAAC;IACF,wEAAwE;IACxE,MAAM,MAAM,GAAG,uDAAuD,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,YAAY,IAAI,eAAe,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;IAEhF,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,cAAc,CAAC;QACrD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK;KACrG,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,6EAA6E;IAC7E,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAEzG,OAAO;QACL,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB;QAC7E,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page role classification. Runs once after placement (at the top of
|
|
3
|
+
* `buildHeadersAndFooters`) and stamps `page.role` so design slots can filter
|
|
4
|
+
* elements per page kind (`DesignElement.pages`).
|
|
5
|
+
*
|
|
6
|
+
* Roles, in precedence order:
|
|
7
|
+
* - `'blank'` — parity / force-blank padding pages;
|
|
8
|
+
* - `'part'` — part-divider pages (`page.partInfo` set), even when the
|
|
9
|
+
* body column is empty (the opener design is the content);
|
|
10
|
+
* - `'blank'` — any other page with no content at all (no column blocks
|
|
11
|
+
* and no floats);
|
|
12
|
+
* - `'opener'` — the first block in reading order is a heading whose level
|
|
13
|
+
* spans the page or forces a page break before it: the
|
|
14
|
+
* first page of a chapter;
|
|
15
|
+
* - `'body'` — everything else.
|
|
16
|
+
*/
|
|
17
|
+
import type { PageRole } from '../types';
|
|
18
|
+
import type { ResolvedConfig, VDTDocument, VDTPage } from '../vdt';
|
|
19
|
+
/** Classify one page. Pure — does not mutate the page. */
|
|
20
|
+
export declare function classifyPage(page: VDTPage, resolved: ResolvedConfig): PageRole;
|
|
21
|
+
/** Stamp `page.role` on every page of `doc`. */
|
|
22
|
+
export declare function classifyPages(doc: VDTDocument, resolved?: ResolvedConfig): void;
|
|
23
|
+
//# sourceMappingURL=pageRoles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageRoles.d.ts","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAY,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAiB7E,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,GAAG,QAAQ,CAU9E;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAE,cAA2B,GAAG,IAAI,CAI3F"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page role classification. Runs once after placement (at the top of
|
|
3
|
+
* `buildHeadersAndFooters`) and stamps `page.role` so design slots can filter
|
|
4
|
+
* elements per page kind (`DesignElement.pages`).
|
|
5
|
+
*
|
|
6
|
+
* Roles, in precedence order:
|
|
7
|
+
* - `'blank'` — parity / force-blank padding pages;
|
|
8
|
+
* - `'part'` — part-divider pages (`page.partInfo` set), even when the
|
|
9
|
+
* body column is empty (the opener design is the content);
|
|
10
|
+
* - `'blank'` — any other page with no content at all (no column blocks
|
|
11
|
+
* and no floats);
|
|
12
|
+
* - `'opener'` — the first block in reading order is a heading whose level
|
|
13
|
+
* spans the page or forces a page break before it: the
|
|
14
|
+
* first page of a chapter;
|
|
15
|
+
* - `'body'` — everything else.
|
|
16
|
+
*/
|
|
17
|
+
import { buildHeadingLevelMap } from './config';
|
|
18
|
+
/** First block of the page in reading order (columns in index order), or
|
|
19
|
+
* `undefined` when the page holds no column content. */
|
|
20
|
+
function firstBlockInReadingOrder(page) {
|
|
21
|
+
for (const col of page.columns) {
|
|
22
|
+
if (col.blocks.length > 0)
|
|
23
|
+
return col.blocks[0];
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
function pageIsEmpty(page) {
|
|
28
|
+
if (page.floats && page.floats.length > 0)
|
|
29
|
+
return false;
|
|
30
|
+
return page.columns.every((c) => c.blocks.length === 0);
|
|
31
|
+
}
|
|
32
|
+
/** Classify one page. Pure — does not mutate the page. */
|
|
33
|
+
export function classifyPage(page, resolved) {
|
|
34
|
+
if (page.blankForParity || page.blankForForce)
|
|
35
|
+
return 'blank';
|
|
36
|
+
if (page.partInfo)
|
|
37
|
+
return 'part';
|
|
38
|
+
if (pageIsEmpty(page))
|
|
39
|
+
return 'blank';
|
|
40
|
+
const first = firstBlockInReadingOrder(page);
|
|
41
|
+
if (first && first.type === 'heading' && first.headingLevel !== undefined) {
|
|
42
|
+
const level = buildHeadingLevelMap(resolved).get(first.headingLevel);
|
|
43
|
+
if (level && (level.span === 'page' || level.breakBefore.enabled))
|
|
44
|
+
return 'opener';
|
|
45
|
+
}
|
|
46
|
+
return 'body';
|
|
47
|
+
}
|
|
48
|
+
/** Stamp `page.role` on every page of `doc`. */
|
|
49
|
+
export function classifyPages(doc, resolved = doc.config) {
|
|
50
|
+
for (const page of doc.pages) {
|
|
51
|
+
page.role = classifyPage(page, resolved);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=pageRoles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageRoles.js","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD;yDACyD;AACzD,SAAS,wBAAwB,CAAC,IAAa;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,IAAa,EAAE,QAAwB;IAClE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC;IAC9D,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACtC,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;IACrF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,GAAgB,EAAE,WAA2B,GAAG,CAAC,MAAM;IACnF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-pass for `:::paragraphs{style="…"}` containers. The placement loop
|
|
3
|
+
* rewinds `blockIdx` on keep-with-next rollbacks and replays the blocks in
|
|
4
|
+
* between (marker blocks included), so container state is resolved up front
|
|
5
|
+
* per content-block index instead of being pushed/popped inside the loop.
|
|
6
|
+
*/
|
|
7
|
+
import type { ContentBlock } from '../parse';
|
|
8
|
+
import type { ResolvedConfig } from '../vdt';
|
|
9
|
+
import { type BlockStyle } from './styles';
|
|
10
|
+
export interface ParagraphContainer {
|
|
11
|
+
/** `containerId` of the start/end marker pair. */
|
|
12
|
+
id: number;
|
|
13
|
+
/** Style for every paragraph in the container. */
|
|
14
|
+
style: BlockStyle;
|
|
15
|
+
/** Style for the container's last paragraph: the container's
|
|
16
|
+
* `marginBottom` is baked into its `marginBottomPx` so the grid snap that
|
|
17
|
+
* closes the container guarantees the margin (grid wins, margin is a
|
|
18
|
+
* minimum — the same convention snapped headings follow). */
|
|
19
|
+
tailStyle: BlockStyle;
|
|
20
|
+
/** Applied on entry through pending spacing. */
|
|
21
|
+
marginTopPx: number;
|
|
22
|
+
/** Fallback for containers whose last block is not a paragraph. */
|
|
23
|
+
marginBottomPx: number;
|
|
24
|
+
}
|
|
25
|
+
export interface ParagraphContainerPlan {
|
|
26
|
+
/** Container id → entry, for `paragraphs` containers with a known style. */
|
|
27
|
+
byId: Map<number, ParagraphContainer>;
|
|
28
|
+
/** Content-block index → innermost enclosing paragraph container. */
|
|
29
|
+
byBlock: Array<ParagraphContainer | undefined>;
|
|
30
|
+
}
|
|
31
|
+
export declare function planParagraphContainers(contentBlocks: readonly ContentBlock[], resolved: ResolvedConfig): ParagraphContainerPlan;
|
|
32
|
+
//# sourceMappingURL=paragraphContainers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paragraphContainers.d.ts","sourceRoot":"","sources":["../../src/pipeline/paragraphContainers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,UAAU,CAAC;IAClB;;;kEAG8D;IAC9D,SAAS,EAAE,UAAU,CAAC;IACtB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtC,qEAAqE;IACrE,OAAO,EAAE,KAAK,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAChD;AAED,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,SAAS,YAAY,EAAE,EACtC,QAAQ,EAAE,cAAc,GACvB,sBAAsB,CAiDxB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-pass for `:::paragraphs{style="…"}` containers. The placement loop
|
|
3
|
+
* rewinds `blockIdx` on keep-with-next rollbacks and replays the blocks in
|
|
4
|
+
* between (marker blocks included), so container state is resolved up front
|
|
5
|
+
* per content-block index instead of being pushed/popped inside the loop.
|
|
6
|
+
*/
|
|
7
|
+
import { dimensionToPx } from '../units';
|
|
8
|
+
import { resolveParagraphStyle } from './styles';
|
|
9
|
+
export function planParagraphContainers(contentBlocks, resolved) {
|
|
10
|
+
const byId = new Map();
|
|
11
|
+
const byBlock = new Array(contentBlocks.length);
|
|
12
|
+
const dpi = resolved.page.dpi;
|
|
13
|
+
// Every open container occupies one slot, undefined for non-`paragraphs`
|
|
14
|
+
// containers and for unknown style ids (those render as plain body text —
|
|
15
|
+
// the build has no warnings channel; the editor's warnings phase can flag
|
|
16
|
+
// them).
|
|
17
|
+
const open = [];
|
|
18
|
+
const cache = new Map();
|
|
19
|
+
for (let i = 0; i < contentBlocks.length; i++) {
|
|
20
|
+
const b = contentBlocks[i];
|
|
21
|
+
if (b.type === 'containerStart') {
|
|
22
|
+
let entry;
|
|
23
|
+
const styleId = b.containerAttrs?.style;
|
|
24
|
+
if (b.containerName === 'paragraphs' && styleId !== undefined && b.containerId !== undefined) {
|
|
25
|
+
let base = cache.get(styleId);
|
|
26
|
+
if (!base) {
|
|
27
|
+
const cfg = resolved.paragraphStyles.find((s) => s.id === styleId);
|
|
28
|
+
if (cfg) {
|
|
29
|
+
const style = resolveParagraphStyle(cfg, resolved);
|
|
30
|
+
const marginBottomPx = dimensionToPx(cfg.marginBottom, dpi, style.fontSizePx);
|
|
31
|
+
base = {
|
|
32
|
+
style,
|
|
33
|
+
tailStyle: { ...style, marginBottomPx: Math.max(style.marginBottomPx, marginBottomPx) },
|
|
34
|
+
marginTopPx: dimensionToPx(cfg.marginTop, dpi, style.fontSizePx),
|
|
35
|
+
marginBottomPx,
|
|
36
|
+
};
|
|
37
|
+
cache.set(styleId, base);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (base) {
|
|
41
|
+
entry = { id: b.containerId, ...base };
|
|
42
|
+
byId.set(b.containerId, entry);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
open.push(entry);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (b.type === 'containerEnd') {
|
|
49
|
+
open.pop();
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
for (let j = open.length - 1; j >= 0; j--) {
|
|
53
|
+
if (open[j]) {
|
|
54
|
+
byBlock[i] = open[j];
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return { byId, byBlock };
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=paragraphContainers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paragraphContainers.js","sourceRoot":"","sources":["../../src/pipeline/paragraphContainers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-pass and derived typography for `:::part{number="…" title="…"}`
|
|
3
|
+
* containers. Like the other container plans, part ranges are resolved up
|
|
4
|
+
* front per content-block index (the placement loop rewinds `blockIdx` on
|
|
5
|
+
* keep-with-next rollbacks and replays the markers in between).
|
|
6
|
+
*/
|
|
7
|
+
import type { ContentBlock } from '../parse';
|
|
8
|
+
import type { ResolvedConfig } from '../vdt';
|
|
9
|
+
import type { BlockMeasureContext } from './measureContentBlock';
|
|
10
|
+
export interface PlannedPart {
|
|
11
|
+
/** Content-block index of the `containerStart` marker. */
|
|
12
|
+
startIdx: number;
|
|
13
|
+
/** Content-block index of the matching `containerEnd` marker. */
|
|
14
|
+
endIdx: number;
|
|
15
|
+
containerId: number;
|
|
16
|
+
/** `number` attribute as written (`'I'`, `'2'`, …); `''` when absent. */
|
|
17
|
+
number: string;
|
|
18
|
+
/** `title` attribute; `''` when absent. */
|
|
19
|
+
title: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PartPlan {
|
|
22
|
+
/** Start-marker index → part. */
|
|
23
|
+
byStart: Map<number, PlannedPart>;
|
|
24
|
+
/** End-marker index → part. */
|
|
25
|
+
byEnd: Map<number, PlannedPart>;
|
|
26
|
+
/** Content-block index → enclosing part (markers excluded). A part nested
|
|
27
|
+
* inside another part is flattened into the outer one. */
|
|
28
|
+
byBlock: Array<PlannedPart | undefined>;
|
|
29
|
+
}
|
|
30
|
+
export declare function planParts(contentBlocks: readonly ContentBlock[]): PartPlan;
|
|
31
|
+
/** Numeric value of a part number written as a decimal (`'3'`) or a roman
|
|
32
|
+
* numeral (`'III'`, `'iv'`), so `{numberDecimal}` / `{numberRoman}` work
|
|
33
|
+
* whichever way the author wrote it. `undefined` for anything else. */
|
|
34
|
+
export declare function parsePartNumber(raw: string): number | undefined;
|
|
35
|
+
/** Shallow copy of `resolved` whose `bodyText` and list configs carry the
|
|
36
|
+
* `parts.bodyStyle` overrides, so the body/list resolvers yield the part
|
|
37
|
+
* typography without any part-specific branches (the callout approach).
|
|
38
|
+
* Ordered-list numbers are set bold in `numberColor`; bullets take
|
|
39
|
+
* `bulletColor`. Level-specific values only follow an override when they
|
|
40
|
+
* still equal the general value they were resolved from. The
|
|
41
|
+
* `bodyStyle.unorderedLists` / `orderedLists` partials apply last. */
|
|
42
|
+
export declare function derivePartResolvedConfig(resolved: ResolvedConfig): ResolvedConfig;
|
|
43
|
+
/** Measurement context for the blocks inside a part: the derived config
|
|
44
|
+
* plus the body / blockquote styles, list indents and ordered-list number
|
|
45
|
+
* widths recomputed from it. */
|
|
46
|
+
export declare function derivePartMeasureContext(ctx: BlockMeasureContext): BlockMeasureContext;
|
|
47
|
+
//# sourceMappingURL=parts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../src/pipeline/parts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAQ7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,iCAAiC;IACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,+BAA+B;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC;+DAC2D;IAC3D,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,wBAAgB,SAAS,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,QAAQ,CAgC1E;AAOD;;wEAEwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB/D;AAmID;;;;;;uEAMuE;AACvE,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CA0BjF;AAED;;iCAEiC;AACjC,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,mBAAmB,CAqBtF"}
|