postext 1.39.1 → 1.41.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 (167) hide show
  1. package/dist/__tests__/comics/frames.test.js +0 -8
  2. package/dist/__tests__/comics/frames.test.js.map +1 -1
  3. package/dist/__tests__/comics/textPanelsStripsSpreads.test.d.ts +2 -0
  4. package/dist/__tests__/comics/textPanelsStripsSpreads.test.d.ts.map +1 -0
  5. package/dist/__tests__/comics/textPanelsStripsSpreads.test.js +277 -0
  6. package/dist/__tests__/comics/textPanelsStripsSpreads.test.js.map +1 -0
  7. package/dist/__tests__/composed/crossChapterJumps.test.d.ts +2 -0
  8. package/dist/__tests__/composed/crossChapterJumps.test.d.ts.map +1 -0
  9. package/dist/__tests__/composed/crossChapterJumps.test.js +299 -0
  10. package/dist/__tests__/composed/crossChapterJumps.test.js.map +1 -0
  11. package/dist/__tests__/composed/fit.test.js +77 -0
  12. package/dist/__tests__/composed/fit.test.js.map +1 -1
  13. package/dist/__tests__/composed/frameModesChain.test.d.ts +2 -0
  14. package/dist/__tests__/composed/frameModesChain.test.d.ts.map +1 -0
  15. package/dist/__tests__/composed/frameModesChain.test.js +69 -0
  16. package/dist/__tests__/composed/frameModesChain.test.js.map +1 -0
  17. package/dist/__tests__/composed/framePictures.test.d.ts +2 -0
  18. package/dist/__tests__/composed/framePictures.test.d.ts.map +1 -0
  19. package/dist/__tests__/composed/framePictures.test.js +121 -0
  20. package/dist/__tests__/composed/framePictures.test.js.map +1 -0
  21. package/dist/__tests__/composed/frameWritingMode.test.js +79 -3
  22. package/dist/__tests__/composed/frameWritingMode.test.js.map +1 -1
  23. package/dist/__tests__/composed/labels.test.js +19 -0
  24. package/dist/__tests__/composed/labels.test.js.map +1 -1
  25. package/dist/__tests__/composed/labelsMirrored.test.d.ts +2 -0
  26. package/dist/__tests__/composed/labelsMirrored.test.d.ts.map +1 -0
  27. package/dist/__tests__/composed/labelsMirrored.test.js +128 -0
  28. package/dist/__tests__/composed/labelsMirrored.test.js.map +1 -0
  29. package/dist/__tests__/composed/measureMemo.test.d.ts +2 -0
  30. package/dist/__tests__/composed/measureMemo.test.d.ts.map +1 -0
  31. package/dist/__tests__/composed/measureMemo.test.js +45 -0
  32. package/dist/__tests__/composed/measureMemo.test.js.map +1 -0
  33. package/dist/__tests__/composedTemplates.test.js +5 -2
  34. package/dist/__tests__/composedTemplates.test.js.map +1 -1
  35. package/dist/__tests__/exports.test.js +6 -0
  36. package/dist/__tests__/exports.test.js.map +1 -1
  37. package/dist/__tests__/migrate/labelsOnPictures.test.js +49 -1
  38. package/dist/__tests__/migrate/labelsOnPictures.test.js.map +1 -1
  39. package/dist/bundle/book.d.ts +5 -0
  40. package/dist/bundle/book.d.ts.map +1 -1
  41. package/dist/bundle/book.js +53 -7
  42. package/dist/bundle/book.js.map +1 -1
  43. package/dist/bundle/layoutCache.d.ts +5 -0
  44. package/dist/bundle/layoutCache.d.ts.map +1 -1
  45. package/dist/bundle/layoutCache.js.map +1 -1
  46. package/dist/canvas-backend/composed.d.ts +2 -2
  47. package/dist/canvas-backend/composed.d.ts.map +1 -1
  48. package/dist/canvas-backend/composed.js +11 -2
  49. package/dist/canvas-backend/composed.js.map +1 -1
  50. package/dist/canvas-backend/index.d.ts.map +1 -1
  51. package/dist/canvas-backend/index.js +10 -1
  52. package/dist/canvas-backend/index.js.map +1 -1
  53. package/dist/canvas-backend/mirrorFrame.d.ts +19 -0
  54. package/dist/canvas-backend/mirrorFrame.d.ts.map +1 -1
  55. package/dist/canvas-backend/mirrorFrame.js +47 -0
  56. package/dist/canvas-backend/mirrorFrame.js.map +1 -1
  57. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  58. package/dist/canvas-backend/renderResourceBlock.js +35 -26
  59. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  60. package/dist/comics/frames.d.ts +5 -0
  61. package/dist/comics/frames.d.ts.map +1 -1
  62. package/dist/comics/frames.js +7 -0
  63. package/dist/comics/frames.js.map +1 -1
  64. package/dist/comics/layoutPage.d.ts +5 -0
  65. package/dist/comics/layoutPage.d.ts.map +1 -1
  66. package/dist/comics/layoutPage.js +9 -0
  67. package/dist/comics/layoutPage.js.map +1 -1
  68. package/dist/comics/sourceMap.d.ts.map +1 -1
  69. package/dist/comics/sourceMap.js +6 -4
  70. package/dist/comics/sourceMap.js.map +1 -1
  71. package/dist/comics/spread.d.ts +6 -1
  72. package/dist/comics/spread.d.ts.map +1 -1
  73. package/dist/comics/spread.js +15 -1
  74. package/dist/comics/spread.js.map +1 -1
  75. package/dist/comics/textPanels.d.ts +30 -6
  76. package/dist/comics/textPanels.d.ts.map +1 -1
  77. package/dist/comics/textPanels.js +226 -69
  78. package/dist/comics/textPanels.js.map +1 -1
  79. package/dist/comics/transform.d.ts.map +1 -1
  80. package/dist/comics/transform.js +4 -2
  81. package/dist/comics/transform.js.map +1 -1
  82. package/dist/composed/carry.d.ts +53 -0
  83. package/dist/composed/carry.d.ts.map +1 -0
  84. package/dist/composed/carry.js +114 -0
  85. package/dist/composed/carry.js.map +1 -0
  86. package/dist/composed/carryTypes.d.ts +76 -0
  87. package/dist/composed/carryTypes.d.ts.map +1 -0
  88. package/dist/composed/carryTypes.js +2 -0
  89. package/dist/composed/carryTypes.js.map +1 -0
  90. package/dist/composed/continuation.d.ts +8 -0
  91. package/dist/composed/continuation.d.ts.map +1 -1
  92. package/dist/composed/continuation.js.map +1 -1
  93. package/dist/composed/labels.d.ts +9 -0
  94. package/dist/composed/labels.d.ts.map +1 -1
  95. package/dist/composed/labels.js +36 -4
  96. package/dist/composed/labels.js.map +1 -1
  97. package/dist/composed/paint.d.ts +10 -6
  98. package/dist/composed/paint.d.ts.map +1 -1
  99. package/dist/composed/paint.js +38 -7
  100. package/dist/composed/paint.js.map +1 -1
  101. package/dist/composed/sourceMap.d.ts +16 -0
  102. package/dist/composed/sourceMap.d.ts.map +1 -1
  103. package/dist/composed/sourceMap.js +43 -9
  104. package/dist/composed/sourceMap.js.map +1 -1
  105. package/dist/composed/templates.d.ts.map +1 -1
  106. package/dist/composed/templates.js +9 -4
  107. package/dist/composed/templates.js.map +1 -1
  108. package/dist/composed/types.d.ts +9 -4
  109. package/dist/composed/types.d.ts.map +1 -1
  110. package/dist/html-backend.d.ts.map +1 -1
  111. package/dist/html-backend.js +36 -14
  112. package/dist/html-backend.js.map +1 -1
  113. package/dist/index.d.ts +4 -3
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +3 -3
  116. package/dist/index.js.map +1 -1
  117. package/dist/migrate/pageDesign.d.ts +6 -1
  118. package/dist/migrate/pageDesign.d.ts.map +1 -1
  119. package/dist/migrate/pageDesign.js +26 -10
  120. package/dist/migrate/pageDesign.js.map +1 -1
  121. package/dist/migrate/textToMarkdown.js +4 -3
  122. package/dist/migrate/textToMarkdown.js.map +1 -1
  123. package/dist/pipeline/build.d.ts +12 -0
  124. package/dist/pipeline/build.d.ts.map +1 -1
  125. package/dist/pipeline/build.js +304 -25
  126. package/dist/pipeline/build.js.map +1 -1
  127. package/dist/pipeline/calloutLayout.d.ts +13 -17
  128. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  129. package/dist/pipeline/calloutLayout.js +20 -1
  130. package/dist/pipeline/calloutLayout.js.map +1 -1
  131. package/dist/pipeline/composedLayout.d.ts +12 -0
  132. package/dist/pipeline/composedLayout.d.ts.map +1 -1
  133. package/dist/pipeline/composedLayout.js +179 -25
  134. package/dist/pipeline/composedLayout.js.map +1 -1
  135. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  136. package/dist/pipeline/contentWarnings.js +5 -3
  137. package/dist/pipeline/contentWarnings.js.map +1 -1
  138. package/dist/pipeline/continuation.d.ts +11 -0
  139. package/dist/pipeline/continuation.d.ts.map +1 -1
  140. package/dist/pipeline/continuation.js +36 -0
  141. package/dist/pipeline/continuation.js.map +1 -1
  142. package/dist/pipeline/cutTypes.d.ts +42 -0
  143. package/dist/pipeline/cutTypes.d.ts.map +1 -0
  144. package/dist/pipeline/cutTypes.js +6 -0
  145. package/dist/pipeline/cutTypes.js.map +1 -0
  146. package/dist/pipeline/frameLayout.d.ts +8 -22
  147. package/dist/pipeline/frameLayout.d.ts.map +1 -1
  148. package/dist/pipeline/frameLayout.js +1 -0
  149. package/dist/pipeline/frameLayout.js.map +1 -1
  150. package/dist/pipeline/index.d.ts +2 -1
  151. package/dist/pipeline/index.d.ts.map +1 -1
  152. package/dist/pipeline/index.js +2 -1
  153. package/dist/pipeline/index.js.map +1 -1
  154. package/dist/pipeline/measureMemo.d.ts +39 -0
  155. package/dist/pipeline/measureMemo.d.ts.map +1 -0
  156. package/dist/pipeline/measureMemo.js +61 -0
  157. package/dist/pipeline/measureMemo.js.map +1 -0
  158. package/dist/pipeline/mirrorFrame.d.ts +2 -1
  159. package/dist/pipeline/mirrorFrame.d.ts.map +1 -1
  160. package/dist/pipeline/mirrorFrame.js +31 -5
  161. package/dist/pipeline/mirrorFrame.js.map +1 -1
  162. package/dist/types.d.ts +16 -0
  163. package/dist/types.d.ts.map +1 -1
  164. package/dist/vdt.d.ts +53 -0
  165. package/dist/vdt.d.ts.map +1 -1
  166. package/dist/vdt.js.map +1 -1
  167. package/package.json +1 -1
@@ -10,20 +10,21 @@
10
10
  * in its panel's frame with the composed pages' frame layout
11
11
  * (`layoutComposedPage`, one frame filling the panel's text area), so a
12
12
  * text panel has real paragraphs: selectable, searchable, read in order by
13
- * tagged PDF and EPUB. Where a frame cannot take the text (a strip, a
14
- * spread, a page whose flow is turned or mirrored), the blocks stay
15
- * unwrapped and are set in the flow after the comic, never lost
16
- * (`comicPanelFrame`).
13
+ * tagged PDF and EPUB. A strip's text frames are laid once the strip has
14
+ * its place on the page ({@link layoutStripTextFrames}), a spread's on its
15
+ * two pages; a comic inside a container keeps its text in the flow after
16
+ * the comic, never lost.
17
17
  */
18
- import { pageRectToFlow, pageToFlow } from '../vdt';
18
+ import { flowRectToPage, pageRectToFlow, pageToFlow } from '../vdt';
19
19
  import { FRAME_ATTR, FRAME_STYLE_ID } from '../composed/wrap';
20
20
  import { normalizeFrame } from '../composed/templates';
21
21
  import { composedStories, layoutComposedPage } from '../pipeline/composedLayout';
22
+ import { SPAN_EMBED_STYLE_ID } from '../pipeline/spanEmbeds';
22
23
  import { dimensionToPx } from '../units';
23
24
  import { resolvedComics } from '../defaults/comics';
24
- import { isComicSpread } from './spread';
25
25
  import { comicBoxStyle, isComicTextPanel } from './frames';
26
- import { comicPanelSources, setComicLayoutWarnings, comicPageLayoutWarnings } from './layoutPage';
26
+ import { translateComicPage } from './transform';
27
+ import { comicPanelSources, copyComicPanelSources, setComicLayoutWarnings, comicPageLayoutWarnings } from './layoutPage';
27
28
  /** `containerAttrs` key of a text panel's story box: the panel's index in
28
29
  * its page's source (`ComicPanelSource.index`). */
29
30
  export const COMIC_PANEL_ATTR = '__comicPanel';
@@ -42,16 +43,13 @@ export function comicTextPanelsSupported(resolved) {
42
43
  return true;
43
44
  }
44
45
  /** Why a text panel's Markdown is set in the flow instead of its frame:
45
- * the comic is a strip or a spread, or the document's flow is turned or
46
- * mirrored. Undefined when its frame takes it. */
46
+ * never since postext 1.40 (#959: strips and spreads take their text in
47
+ * the frames too); `'flow'` only for a caller that passes `supported`
48
+ * false. Undefined when its frame takes it. Kept for the callers that
49
+ * ask; `source` is read no more. */
47
50
  export function comicTextPanelFallback(source, supported) {
48
- if (source.kind === 'strip')
49
- return 'strip';
50
- if (isComicSpread(source))
51
- return 'spread';
52
- if (!supported)
53
- return 'flow';
54
- return undefined;
51
+ void source;
52
+ return supported ? undefined : 'flow';
55
53
  }
56
54
  /**
57
55
  * `blocks` with the Markdown of every text panel of a comic page set in
@@ -120,9 +118,16 @@ export function planComicTextPanels(blocks, plans) {
120
118
  if (b.type !== 'directive' || !b.comic)
121
119
  continue;
122
120
  let end = i;
121
+ // A page-wide strip set where it stands is boxed (`wrapPageSpanEmbeds`):
122
+ // its stories follow the box's closing marker.
123
+ const prev = blocks[i - 1];
124
+ const next = blocks[i + 1];
125
+ if (prev?.type === 'containerStart' && prev.containerAttrs?.type === SPAN_EMBED_STYLE_ID && next?.type === 'containerEnd' && next.containerId === prev.containerId)
126
+ end = i + 1;
127
+ const lead = end;
123
128
  for (let plan = plans.get(end + 1); plan && plan.attrs[COMIC_PANEL_ATTR] !== undefined; plan = plans.get(end + 1))
124
129
  end = plan.endIdx;
125
- if (end === i)
130
+ if (end === lead)
126
131
  continue;
127
132
  const stories = composedStories(i, end + 1, plans);
128
133
  const list = [...stories.values()];
@@ -137,6 +142,14 @@ export function planComicTextPanels(blocks, plans) {
137
142
  return out;
138
143
  }
139
144
  const px = (v) => ({ value: v, unit: 'px' });
145
+ /** The first block of a laid story that sets text: where its text starts,
146
+ * which moves with the frame's vertical alignment. */
147
+ function firstTextY(blocks) {
148
+ for (const b of blocks)
149
+ if (b.type !== 'callout' && !b.hidden && b.lines.length > 0)
150
+ return b.bbox.y;
151
+ return undefined;
152
+ }
140
153
  /**
141
154
  * Set the text panels of a laid-out comic page in their frames: each text
142
155
  * frame of `comic.frames` gets the blocks its story was set in
@@ -145,6 +158,9 @@ const px = (v) => ({ value: v, unit: 'px' });
145
158
  * area is the panel's box inside its border and the lettering's inset;
146
159
  * with a `box` style, the panel's box (the style's padding keeps the text
147
160
  * off its edges).
161
+ *
162
+ * `comic` is on the sheet of `page`: a comic page, a half of a spread, or
163
+ * a strip moved there ({@link layoutStripTextFrames}).
148
164
  */
149
165
  export function layoutComicTextFrames(input) {
150
166
  const { comic, page, plan, resolved, dpi } = input;
@@ -156,76 +172,152 @@ export function layoutComicTextFrames(input) {
156
172
  const insetPx = dimensionToPx(resolvedComics(resolved).lettering.inset, dpi);
157
173
  const warnings = [];
158
174
  const fence = Number(/^cm(\d+)$/.exec(comic.id ?? '')?.[1] ?? 0);
175
+ // The sheet's boxes to keep off, in the page's flow frame.
176
+ const avoid = (input.avoid ?? []).map((r) => {
177
+ const f = page.flow ? pageRectToFlow(page, r) : r;
178
+ return { x: f.x, y: f.y, width: f.width, height: f.height };
179
+ });
159
180
  comic.frames.forEach((frame, fi) => {
160
181
  const panelIndex = frame.panel ?? fi;
161
182
  const src = sources[panelIndex];
162
183
  if (!src || !isComicTextPanel(src))
163
184
  return;
185
+ if (input.only && !input.only.has(src.index))
186
+ return;
164
187
  const key = comicTextStoryKey(src.index);
165
188
  const story = plan.stories.get(key);
166
189
  if (!story)
167
190
  return;
168
- const panel = comic.panels[panelIndex];
191
+ const panel = comic.panels.find((q) => q.index === panelIndex) ?? comic.panels[panelIndex];
192
+ if (!panel)
193
+ return;
169
194
  const box = comicBoxStyle(resolved, src.attrs.box);
170
195
  const edge = box ? 0 : panel.border.width + insetPx;
171
196
  const valign = src.attrs.valign?.trim().toLowerCase();
197
+ const aligned = valign === 'middle' || valign === 'bottom';
172
198
  // A slanted cell: frameless text set from the top takes the whole cell,
173
- // each line set short where a slant crosses it (#909); a box drawn round
174
- // the text, or text set to the middle or the foot, keeps to the widest
175
- // box with straight sides inside the outline.
176
- const follows = !!frame.polygon && !box && valign !== 'middle' && valign !== 'bottom';
177
- const r = frame.polygon && !follows ? innerBox(frame.polygon, panel.bbox) : panel.bbox;
178
- const onSheet = { x: r.x + edge, y: r.y + edge, width: Math.max(1, r.width - 2 * edge), height: Math.max(1, r.height - 2 * edge) };
179
- // The comic stands on the sheet; the text is set in the page's flow
180
- // frame (#909), mirrored on a right-to-left page and turned on a
181
- // vertical one (where it is set vertically).
182
- const area = page.flow ? pageRectToFlow(page, onSheet) : onSheet;
199
+ // each line set short where a slant crosses it (#909). Text set to the
200
+ // middle or the foot follows the slant too, laid again with the slant
201
+ // moved by the room above it (#959); a box drawn round the text keeps
202
+ // to the widest box with straight sides inside the outline.
203
+ const follows = !!frame.polygon && !box;
183
204
  const outline = follows ? (page.flow ? frame.polygon.map((q) => pageToFlow(page, q.x, q.y)) : frame.polygon) : undefined;
184
- const slants = outline ? slantExclusions(outline, area, edge) : [];
205
+ const areaOf = (r) => {
206
+ const onSheet = { x: r.x + edge, y: r.y + edge, width: Math.max(1, r.width - 2 * edge), height: Math.max(1, r.height - 2 * edge) };
207
+ // The comic stands on the sheet; the text is set in the page's flow
208
+ // frame (#909), mirrored on a right-to-left page and turned on a
209
+ // vertical one (where it is set vertically).
210
+ return page.flow ? pageRectToFlow(page, onSheet) : onSheet;
211
+ };
185
212
  // `shrink` (#909): the text set smaller until it fits, down to half
186
213
  // its size or the `shrink=` given; else the frames' least, 90 %.
187
214
  const minScale = shrinkScale(src.attrs.shrink);
188
215
  const padding = box ? undefined : { top: px(0), right: px(0), bottom: px(0), left: px(0) };
189
- const resolvedFrame = normalizeFrame({
190
- name: frame.name,
191
- width: 'fill',
192
- height: 'fill',
193
- ...(box ? { style: box.id } : {}),
194
- ...(valign === 'middle' || valign === 'bottom' ? { verticalAlign: valign } : {}),
195
- ...(padding ? { padding } : {}),
196
- ...(minScale !== undefined ? { fit: { shrinkText: true, minScale } } : {}),
197
- });
198
- const template = {
199
- id: comic.id ?? 'comic',
200
- area: 'content',
201
- frames: [resolvedFrame],
202
- groups: [],
203
- decoration: { elements: [] },
204
- decorationPaths: [],
205
- spread: false,
206
- gutter: px(0),
207
- role: 'comic',
208
- chain: [comic.id ?? 'comic'],
209
- configPath: '',
216
+ const lay = (area, shapes, verticalAlign) => {
217
+ const resolvedFrame = normalizeFrame({
218
+ name: frame.name,
219
+ width: 'fill',
220
+ height: 'fill',
221
+ ...(box ? { style: box.id } : {}),
222
+ ...(verticalAlign && verticalAlign !== 'top' ? { verticalAlign } : {}),
223
+ ...(padding ? { padding } : {}),
224
+ ...(minScale !== undefined ? { fit: { shrinkText: true, minScale } } : {}),
225
+ });
226
+ const template = {
227
+ id: comic.id ?? 'comic',
228
+ area: 'content',
229
+ frames: [resolvedFrame],
230
+ groups: [],
231
+ decoration: { elements: [] },
232
+ decorationPaths: [],
233
+ spread: false,
234
+ gutter: px(0),
235
+ role: 'comic',
236
+ chain: [comic.id ?? 'comic'],
237
+ configPath: '',
238
+ };
239
+ const around = [...avoid, ...shapes];
240
+ return layoutComposedPage({
241
+ pass: input.pass,
242
+ page,
243
+ template,
244
+ fence: { template: template.id, spread: false, attrs: {}, attrSources: {}, fenceIndex: fence, colons: 4 },
245
+ startIdx: plan.startIdx,
246
+ endIdx: plan.endIdx,
247
+ stories: new Map([[frame.name, story]]),
248
+ styleOf: input.styleOf,
249
+ areas: { area, page: area, bleed: area },
250
+ dpi,
251
+ emPx: input.emPx,
252
+ bodyOffset: input.bodyOffset,
253
+ mirrored: input.mirrored,
254
+ pushGapPx: input.pushGapPx,
255
+ ...(around.length > 0 ? { frameExclusions: new Map([[frame.name, around]]) } : {}),
256
+ ...(input.locale ? { locale: input.locale } : {}),
257
+ });
210
258
  };
211
- const out = layoutComposedPage({
212
- pass: input.pass,
213
- page,
214
- template,
215
- fence: { template: template.id, spread: false, attrs: {}, attrSources: {}, fenceIndex: fence, colons: 4 },
216
- startIdx: plan.startIdx,
217
- endIdx: plan.endIdx,
218
- stories: new Map([[frame.name, story]]),
219
- styleOf: input.styleOf,
220
- areas: { area, page: area, bleed: area },
221
- dpi,
222
- emPx: input.emPx,
223
- bodyOffset: input.bodyOffset,
224
- mirrored: input.mirrored,
225
- pushGapPx: input.pushGapPx,
226
- ...(slants.length > 0 ? { frameExclusions: new Map([[frame.name, slants]]) } : {}),
227
- ...(input.locale ? { locale: input.locale } : {}),
228
- });
259
+ let area;
260
+ let out;
261
+ const wholeCell = () => {
262
+ area = areaOf(panel.bbox);
263
+ if (!aligned) {
264
+ out = lay(area, slantExclusions(outline, area, edge), undefined);
265
+ return true;
266
+ }
267
+ // The alignment depends on how many lines the slant leaves and the
268
+ // slant on where the text stands: the room the lines have at a height
269
+ // is the outline's there, so the slant is laid as if the text stood
270
+ // `shift` lower, and the shift is sought where the text lands (the
271
+ // lower the text stands, the narrower a slanted foot leaves it, the
272
+ // taller it is: bisection). A layout is kept only when every line lies
273
+ // inside the outline; none does: the straight box inside the cell.
274
+ const base = slantExclusions(outline, area, edge);
275
+ const top = firstTextY(lay(area, base, undefined).blocks);
276
+ if (top === undefined) {
277
+ out = lay(area, base, valign);
278
+ return true;
279
+ }
280
+ const align = valign;
281
+ const attempt = (shift) => {
282
+ const moved = outline.map((q) => ({ x: q.x, y: q.y - shift }));
283
+ const result = lay(area, slantExclusions(moved, area, edge), align);
284
+ const at = firstTextY(result.blocks);
285
+ return { result, landed: at === undefined ? shift : at - top };
286
+ };
287
+ let bestResult;
288
+ let bestGap = Infinity;
289
+ const consider = (shift, t) => {
290
+ const gap = Math.abs(t.landed - shift);
291
+ if (gap < bestGap && linesInsideOutline(t.result.blocks, outline, edge)) {
292
+ bestResult = t.result;
293
+ bestGap = gap;
294
+ }
295
+ };
296
+ const first = attempt(0);
297
+ consider(0, first);
298
+ if (first.landed > 1) {
299
+ let lo = 0;
300
+ let hi = area.height;
301
+ for (let round = 0; round < 9 && bestGap > 1; round++) {
302
+ const mid = (lo + hi) / 2;
303
+ const t = attempt(mid);
304
+ consider(mid, t);
305
+ if (t.landed > mid)
306
+ lo = mid;
307
+ else
308
+ hi = mid;
309
+ }
310
+ }
311
+ if (!bestResult || bestGap > 3 * input.emPx)
312
+ return false;
313
+ out = bestResult;
314
+ return true;
315
+ };
316
+ if (!follows || !wholeCell()) {
317
+ const r = frame.polygon ? innerBox(frame.polygon, panel.bbox) : panel.bbox;
318
+ area = areaOf(r);
319
+ out = lay(area, [], aligned ? valign : undefined);
320
+ }
229
321
  const set = out.composed.frames[0];
230
322
  if (!set || !out.laid.has(frame.name))
231
323
  return;
@@ -264,6 +356,67 @@ export function layoutComicTextFrames(input) {
264
356
  setComicLayoutWarnings(comic, [...comicPageLayoutWarnings(comic), ...warnings]);
265
357
  return { blocks, laid };
266
358
  }
359
+ /** Whether every line of the text blocks lies inside a convex outline,
360
+ * `edge` in from it (the lines of a text laid in a slanted cell). */
361
+ function linesInsideOutline(blocks, outline, edge) {
362
+ for (const b of blocks) {
363
+ if (b.type === 'callout' || b.hidden)
364
+ continue;
365
+ for (const l of b.lines) {
366
+ const span = l.measure ?? { x: l.bbox.x, width: l.bbox.width };
367
+ // A line the room cannot take at all: the text did not settle.
368
+ if (span.width < 1)
369
+ return false;
370
+ for (const y of [l.bbox.y + 0.5, l.bbox.y + l.bbox.height - 0.5]) {
371
+ const c = crossing(outline, 'y', y);
372
+ if (!c)
373
+ return false;
374
+ if (span.x < c[0] + edge - 1 || span.x + span.width > c[1] - edge + 1)
375
+ return false;
376
+ }
377
+ }
378
+ }
379
+ return true;
380
+ }
381
+ /**
382
+ * The text panels of a strip (`:::strip`, #959), laid once the strip's block
383
+ * has its place on the page: the strip's comic stands relative to its block
384
+ * (`VDTBlock.comic`), so it is moved onto the sheet where the block sits
385
+ * ({@link flowRectToPage}), its text set there in the page's flow frame, and
386
+ * what the frames came to (blocks, overflow, scale, warnings) written back
387
+ * on the block's comic, which keeps moving with the block. `input.comic` is
388
+ * ignored; `block` is the strip.
389
+ */
390
+ export function layoutStripTextFrames(input) {
391
+ const own = input.block.comic;
392
+ if (!own?.frames)
393
+ return { blocks: [], laid: new Set() };
394
+ const at = flowRectToPage(input.page, input.block.bbox);
395
+ const onSheet = translateComicPage(own, at.x, at.y);
396
+ copyComicPanelSources(own, onSheet);
397
+ const out = layoutComicTextFrames({ ...input, comic: onSheet });
398
+ if (out.laid.size === 0)
399
+ return out;
400
+ // The frames' results are position-free: they go back to the block's
401
+ // comic as they are.
402
+ own.frames = own.frames.map((f, i) => {
403
+ const laidFrame = onSheet.frames?.[i];
404
+ if (!laidFrame || laidFrame.blockIds.length === 0)
405
+ return f;
406
+ return {
407
+ ...f,
408
+ blockIds: [...laidFrame.blockIds],
409
+ overflowPx: laidFrame.overflowPx,
410
+ scale: laidFrame.scale,
411
+ ...(laidFrame.imageScale !== undefined ? { imageScale: laidFrame.imageScale } : {}),
412
+ ...(laidFrame.styleId !== undefined ? { styleId: laidFrame.styleId } : {}),
413
+ };
414
+ });
415
+ const added = comicPageLayoutWarnings(onSheet);
416
+ if (added.length > 0)
417
+ setComicLayoutWarnings(own, [...comicPageLayoutWarnings(own), ...added]);
418
+ return out;
419
+ }
267
420
  /** The least scale a text panel's `shrink` attribute lets its text take
268
421
  * (#909): `shrink` alone, 0.5; `shrink=0.7` (or `70%`), that, kept
269
422
  * between 0.25 and 1; undefined without it (or `shrink=false`). */
@@ -303,8 +456,12 @@ export function slantExclusions(poly, area, edge) {
303
456
  lo = Math.max(lo, c[0] + edge);
304
457
  hi = Math.min(hi, c[1] - edge);
305
458
  }
306
- if (!Number.isFinite(lo) || !Number.isFinite(hi))
459
+ // A band the outline does not reach (text laid as if it stood lower,
460
+ // past the cell's foot): no room at all.
461
+ if (!Number.isFinite(lo) || !Number.isFinite(hi)) {
462
+ left.push({ y, height: h, left: x0, right: x1 });
307
463
  continue;
464
+ }
308
465
  if (lo > x0 + 0.5)
309
466
  left.push({ y, height: h, left: x0, right: Math.min(x1, lo) });
310
467
  if (hi < x1 - 0.5)
@@ -1 +1 @@
1
- {"version":3,"file":"textPanels.js","sourceRoot":"","sources":["../../src/comics/textPanels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textPanels.js","sourceRoot":"","sources":["../../src/comics/textPanels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAyC,MAAM,QAAQ,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAgD,MAAM,4BAA4B,CAAC;AAE/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGzH;oDACoD;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE/C;yDACyD;AACzD,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAEhD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAU,EAAE,CAAC,SAAS,UAAU,EAAE,CAAC;AAEvF;;;;qDAIqD;AACrD,MAAM,UAAU,wBAAwB,CAAC,QAAmF;IAC1H,KAAK,QAAQ,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;qCAIqC;AACrC,MAAM,UAAU,sBAAsB,CAAC,MAA+C,EAAE,SAAkB;IACxG,KAAK,MAAM,CAAC;IACZ,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA+B,EAAE,SAAkB;IACrF,IAAI,GAA+B,CAAC;IACpC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAAE,KAAK,EAAE,CAAC;aACpC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,KAAK,GAAG,KAAK,IAAI,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5K,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,8DAA8D;QAC9D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAK,CAAC;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG;gBAAE,CAAC,EAAE,CAAC;YAC5G,IAAI,CAAC,KAAK,KAAK;gBAAE,SAAS;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,yBAAyB,GAAG,IAAI,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,SAAS;gBACxB,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAClK,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,WAAW;gBAC5B,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5K,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAwB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACzG,CAAC;AAED;;;mCAGmC;AACnC,MAAM,UAAU,mBAAmB,CAAC,MAA+B,EAAE,KAA0C;IAC7G,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,SAAS;QACjD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,yEAAyE;QACzE,+CAA+C;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,EAAE,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,KAAK,mBAAmB,IAAI,IAAI,EAAE,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;YAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAChL,MAAM,IAAI,GAAG,GAAG,CAAC;QACjB,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACrI,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACT,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG;YACX,OAAO;YACP,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5E,CAAC,CAAC;QACH,CAAC,GAAG,GAAG,CAAC;IACV,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAiCD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAa,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAEhE;uDACuD;AACvD,SAAS,UAAU,CAAC,MAA2B;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA2B;IAC/D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,2DAA2D;IAC3D,MAAM,KAAK,GAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAiC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAAE,OAAO;QAC3C,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QACrD,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,KAAK,GAA8B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC;QAC3D,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,4DAA4D;QAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3H,MAAM,MAAM,GAAG,CAAC,CAAc,EAAe,EAAE;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACnI,oEAAoE;YACpE,iEAAiE;YACjE,6CAA6C;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,CAAC,CAAC;QACF,oEAAoE;QACpE,iEAAiE;QACjE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAqC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7H,MAAM,GAAG,GAAG,CAAC,IAAiB,EAAE,MAA+B,EAAE,aAAsD,EAAE,EAAE;YACzH,MAAM,aAAa,GAAG,cAAc,CAAC;gBACnC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,aAAa,IAAI,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E,CAAC,CAAC;YACH,MAAM,QAAQ,GAAyB;gBACrC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,OAAO;gBACvB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,CAAC,aAAa,CAAC;gBACvB,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC5B,eAAe,EAAE,EAAE;gBACnB,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC;gBAC5B,UAAU,EAAE,EAAE;aACf,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;YACrC,OAAO,kBAAkB,CAAC;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI;gBACJ,QAAQ;gBACR,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE;gBACzG,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACvC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACxC,GAAG;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC,CAAC;QACL,CAAC,CAAC;QACF,IAAI,IAAiB,CAAC;QACtB,IAAI,GAA2B,CAAC;QAChC,MAAM,SAAS,GAAG,GAAY,EAAE;YAC9B,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,OAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,mEAAmE;YACnE,sEAAsE;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,uEAAuE;YACvE,mEAAmE;YACnE,MAAM,IAAI,GAAG,eAAe,CAAC,OAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAA6B,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAG,MAA6B,CAAC;YAC5C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;gBAChC,MAAM,KAAK,GAAG,OAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC;YACjE,CAAC,CAAC;YACF,IAAI,UAA8C,CAAC;YACnD,IAAI,OAAO,GAAG,QAAQ,CAAC;YACvB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,CAA6B,EAAQ,EAAE;gBACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;gBACvC,IAAI,GAAG,GAAG,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;oBACzE,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;oBACtB,OAAO,GAAG,GAAG,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,EAAE,GAAG,CAAC,CAAC;gBACX,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBACtD,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG;wBAAE,EAAE,GAAG,GAAG,CAAC;;wBACxB,EAAE,GAAG,GAAG,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,UAAU,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAC1D,GAAG,GAAG,UAAU,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3E,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACjB,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAE,MAA8B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,GAAG,GAAG,GAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,kEAAkE;QAClE,MAAM,IAAI,GAAG,KAAK,KAAK,GAAG,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,KAAK,GAAG,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/F,KAAK,MAAM,CAAC,IAAI,GAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,OAAO;gBAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,GAAG;YAClB,GAAG,KAAK;YACR,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAClC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC;QACF,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE;gBACzD,WAAW,EAAE,GAAG,CAAC,IAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU;gBAC/C,SAAS,EAAE,GAAG,CAAC,IAAK,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU;gBAC3C,SAAS,EAAE,IAAI,CAAC,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,sBAAsB,CAAC,KAAK,EAAE,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;IACzG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;sEACsE;AACtE,SAAS,kBAAkB,CAAC,MAA2B,EAAE,OAA4C,EAAE,IAAY;IACjH,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM;YAAE,SAAS;QAC/C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/D,+DAA+D;YAC/D,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACrB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAwF;IAC5H,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IACzD,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,qEAAqE;IACrE,qBAAqB;IACrB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,SAAS,GAAyB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC5D,OAAO;YACL,GAAG,CAAC;YACJ,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;YACjC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,sBAAsB,CAAC,GAAG,EAAE,CAAC,GAAG,uBAAuB,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IAC/F,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;oEAEoE;AACpE,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC3D,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;0DAG0D;AAC1D,MAAM,UAAU,eAAe,CAAC,IAAyC,EAAE,IAA6D,EAAE,IAAY;IACpJ,MAAM,IAAI,GAAG,CAAC,CAAC;IACf,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAClB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,wEAAwE;QACxE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;QACnB,IAAI,EAAE,GAAG,QAAQ,CAAC;QAClB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,qEAAqE;QACrE,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,KAAuB,EAA4B,EAAE;QAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,CAAC;QACzE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IAChG,CAAC,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AACvF,CAAC;AAED;uEACuE;AACvE,SAAS,QAAQ,CAAC,IAAyC,EAAE,IAAe,EAAE,EAAU;IACtF,IAAI,EAAE,GAAG,QAAQ,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAE,CAAC;QACvC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC;YAChE,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED;;;;2EAI2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,IAAyC,EAAE,GAA4D;IAC9H,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,yEAAyE;IACzE,MAAM,MAAM,GAAG,CAAC,IAAe,EAAE,CAAS,EAAE,CAAS,EAAE,EAAU,EAAE,EAAU,EAAoB,EAAE;QACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,iBAAiB;IACjB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AACpI,CAAC;AAED;;gEAEgE;AAChE,MAAM,UAAU,wBAAwB,CAAC,MAAuB,EAAE,aAAkC,EAAE,SAAkB;IACtH,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACpC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClF,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACtI,CAAC;QACD,IAAI,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3F,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtI,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/comics/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAe,QAAQ,EAAe,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAsB,QAAQ,EAAE,OAAO,EAAY,MAAM,QAAQ,CAAC;AA0BlL;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA8B1E;AASD,mCAAmC;AACnC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAS/F;AAED;8CAC8C;AAC9C,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAEpG;AAYD,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,CAQjG;AAED;wEACwE;AACxE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAQjF;AAED;sCACsC;AACtC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAS5F;AAKD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,YAAY,GAAG,SAAS,CAShI;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,YAAY,EAAE,CAYvG"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/comics/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAe,QAAQ,EAAe,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAsB,QAAQ,EAAE,OAAO,EAAY,MAAM,QAAQ,CAAC;AA0BlL;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA8B1E;AASD,mCAAmC;AACnC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAS/F;AAED;8CAC8C;AAC9C,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAEpG;AAYD,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,CAQjG;AAED;wEACwE;AACxE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAQjF;AAED;sCACsC;AACtC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAS5F;AAKD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,YAAY,GAAG,SAAS,CAWhI;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,YAAY,EAAE,CAYvG"}
@@ -141,10 +141,12 @@ export function comicBlockOnSheet(page, block) {
141
141
  return undefined;
142
142
  const box = flowRectToPage(page, block.bbox);
143
143
  const memo = onSheet.get(comic);
144
- if (memo && memo.x === box.x && memo.y === box.y)
144
+ // (A strip's text frames are laid after it is placed, #959: `frames` is
145
+ // replaced then, and the copy made before it is stale.)
146
+ if (memo && memo.x === box.x && memo.y === box.y && memo.frames === comic.frames)
145
147
  return memo.comic;
146
148
  const moved = translateComicPage(comic, box.x, box.y);
147
- onSheet.set(comic, { x: box.x, y: box.y, comic: moved });
149
+ onSheet.set(comic, { x: box.x, y: box.y, frames: comic.frames, comic: moved });
148
150
  return moved;
149
151
  }
150
152
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/comics/transform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC;2BAC2B;AAC3B,MAAM,SAAS,GAAiD;IAC9D,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,GAAG,CAAC;IACR,CAAC,EAAE,CAAC,GAAG,CAAC;IACR,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACjC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACvB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACvB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACtC,CAAC,EAAE,EAAE;CACN,CAAC;AAEF,MAAM,aAAa,GAAG,uEAAuE,CAAC;AAE9F,2DAA2D;AAC3D,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU;IAChE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,2DAA2D;IAC3D,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAA6B,CAAC;IAClC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACf,QAAQ,GAAG,CAAC,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClF,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,QAAQ,IAAI,IAAI,KAAK,GAAG;YAAE,CAAC,IAAI,EAAE,CAAC;aACjC,IAAI,QAAQ,IAAI,IAAI,KAAK,GAAG;YAAE,CAAC,IAAI,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,QAAQ,EAAE,CAAC;IACb,CAAC;IACD,mDAAmD;IACnD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAW,EAAE,EAAU,EAAE,EAAU,EAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACpG,MAAM,QAAQ,GAAG,CAAC,CAAc,EAAE,EAAU,EAAE,EAAU,EAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAE3I,SAAS,OAAO,CAAC,GAAgB,EAAE,EAAU,EAAE,EAAU;IACvD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,mBAAmB,CAAC,KAAoB,EAAE,EAAU,EAAE,EAAU;IAC9E,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE;QAC3B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;8CAC8C;AAC9C,MAAM,UAAU,sBAAsB,CAAC,CAAmB,EAAE,EAAU,EAAE,EAAU;IAChF,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAC/H,CAAC;AAED;8EAC8E;AAC9E,SAAS,cAAc,CAAC,CAAqB,EAAE,EAAU,EAAE,EAAU;IACnE,OAAO;QACL,GAAG,CAAC;QACJ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC;KACjH,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,qBAAqB,CAAC,CAAkB,EAAE,EAAU,EAAE,EAAU;IAC9E,OAAO;QACL,GAAG,CAAC;QACJ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AAED;wEACwE;AACxE,MAAM,UAAU,mBAAmB,CAAC,CAAW,EAAE,EAAU,EAAE,EAAU;IACrE,OAAO;QACL,GAAG,CAAC;QACJ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED;sCACsC;AACtC,MAAM,UAAU,kBAAkB,CAAC,KAAmB,EAAE,EAAU,EAAE,EAAU;IAC5E,OAAO;QACL,GAAG,KAAK;QACR,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACxE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,OAAO,GAAG,IAAI,OAAO,EAA+D,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA2B,EAAE,KAAuC;IACpG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpE,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAA4D;IACrF,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgB,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC,CAAW,EAAQ,EAAE;QAChC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO;QACtD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAE,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM;YAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/comics/transform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * A story that jumps from one chapter file into a page fence of a later one
3
+ * (#943, DESIGN §5.17). The sending chapter cannot lay the rest out: the
4
+ * page lives in another `buildDocument` call. It hands the rest back
5
+ * ({@link StoryJump}, `VDTDocument.pendingJumps`) and the host gives it to
6
+ * the chapter that has the page (`LayoutContinuation.jumps`), which sets it
7
+ * in the frames its page leaves free, as it would a story of its own.
8
+ *
9
+ * A jump carries the story as the sender had it ready to lay: the box and
10
+ * its children (parsed, with numbers, tables and citations in place), the
11
+ * cut where the sender stopped, and the little the children's layout reads
12
+ * by their place in the sender's block list (heading numbers, the width of
13
+ * ordered-list markers, footnote numbers). The receiver appends the blocks
14
+ * past its own, shifts their source offsets so that `offset + bodyOffset`
15
+ * is still the offset in the sender's file (`VDTBlock.sourceChapter` says
16
+ * whose), gives their containers ids of their own and lays them through a
17
+ * pass that answers every lookup for them.
18
+ *
19
+ * Pure helpers; `build.ts` exports the jump and `composedLayout.ts` lays
20
+ * the imported story.
21
+ */
22
+ import type { ContentBlock } from '../parse/types';
23
+ import type { CarriedNumber, StoryJump, CarriedNote } from './carryTypes';
24
+ export type { CarriedNumber, StoryJump, CarriedNote } from './carryTypes';
25
+ import type { ComposedContinuation } from './continuation';
26
+ /** The stories carried into a chapter, laid past its own blocks. */
27
+ export interface ImportedJumps {
28
+ /** The carried blocks, to append to the chapter's content blocks. */
29
+ blocks: ContentBlock[];
30
+ /** The continuations, with their stories at the positions they will have
31
+ * once appended, by the page id they jump to, in source order. */
32
+ byTarget: Map<string, ComposedContinuation[]>;
33
+ /** Per story, by the position of its opening marker once appended. */
34
+ stories: Map<number, {
35
+ jump: StoryJump;
36
+ chapter: number;
37
+ numbers: ReadonlyMap<number, CarriedNumber>;
38
+ startIdx: number;
39
+ endIdx: number;
40
+ }>;
41
+ /** The notes the stories cite, under the ids they have here. */
42
+ footnotes: (CarriedNote & {
43
+ chapter: number;
44
+ })[];
45
+ }
46
+ /**
47
+ * The jumps `jumps` as this chapter lays them: appended after
48
+ * `baseLength` content blocks, source offsets as this chapter's body reads
49
+ * them (`bodyOffset`), containers renamed. A jump with no blocks is
50
+ * skipped.
51
+ */
52
+ export declare function importJumps(jumps: readonly StoryJump[], baseLength: number, bodyOffset: number): ImportedJumps;
53
+ //# sourceMappingURL=carry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carry.d.ts","sourceRoot":"","sources":["../../src/composed/carry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAwD3D,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;uEACmE;IACnE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC9C,sEAAsE;IACtE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1I,gEAAgE;IAChE,SAAS,EAAE,CAAC,WAAW,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAqD9G"}