@one2x/medeo-rte 0.5.0 → 2.0.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 (48) hide show
  1. package/dist/index.js +4662 -2759
  2. package/dist/index.js.map +1 -1
  3. package/dist/style.css +8 -7
  4. package/dist/types/editor.d.ts +86 -8
  5. package/dist/types/editor.d.ts.map +1 -1
  6. package/dist/types/embed/ref.d.ts.map +1 -1
  7. package/dist/types/index.d.ts +2 -2
  8. package/dist/types/index.d.ts.map +1 -1
  9. package/dist/types/input/ime.d.ts.map +1 -1
  10. package/dist/types/layout/advances.d.ts +37 -0
  11. package/dist/types/layout/advances.d.ts.map +1 -0
  12. package/dist/types/layout/engine.d.ts +37 -3
  13. package/dist/types/layout/engine.d.ts.map +1 -1
  14. package/dist/types/layout/measure.d.ts +2 -2
  15. package/dist/types/layout/measure.d.ts.map +1 -1
  16. package/dist/types/layout/types.d.ts +39 -0
  17. package/dist/types/layout/types.d.ts.map +1 -1
  18. package/dist/types/layout/wrap.d.ts +9 -2
  19. package/dist/types/layout/wrap.d.ts.map +1 -1
  20. package/dist/types/model/blocks.d.ts +27 -0
  21. package/dist/types/model/blocks.d.ts.map +1 -1
  22. package/dist/types/model/document.d.ts +63 -2
  23. package/dist/types/model/document.d.ts.map +1 -1
  24. package/dist/types/model/spacerText.d.ts +19 -0
  25. package/dist/types/model/spacerText.d.ts.map +1 -0
  26. package/dist/types/mutations/apply.d.ts.map +1 -1
  27. package/dist/types/mutations/invert.d.ts.map +1 -1
  28. package/dist/types/operations/primitives.d.ts.map +1 -1
  29. package/dist/types/operations/resolve.d.ts +7 -0
  30. package/dist/types/operations/resolve.d.ts.map +1 -1
  31. package/dist/types/operations/text.d.ts.map +1 -1
  32. package/dist/types/paint/canvasPainter.d.ts +23 -4
  33. package/dist/types/paint/canvasPainter.d.ts.map +1 -1
  34. package/dist/types/paint/decorations.d.ts +1 -1
  35. package/dist/types/paint/decorations.d.ts.map +1 -1
  36. package/dist/types/paint/focusNotch.d.ts +44 -0
  37. package/dist/types/paint/focusNotch.d.ts.map +1 -0
  38. package/dist/types/paint/focusNotch.selfcheck.d.ts +2 -0
  39. package/dist/types/paint/focusNotch.selfcheck.d.ts.map +1 -0
  40. package/dist/types/paint/htmlPainter.d.ts +3 -1
  41. package/dist/types/paint/htmlPainter.d.ts.map +1 -1
  42. package/dist/types/paint/markBox.d.ts +1 -1
  43. package/dist/types/paint/markBox.d.ts.map +1 -1
  44. package/dist/types/paint/types.d.ts +10 -1
  45. package/dist/types/paint/types.d.ts.map +1 -1
  46. package/dist/types/perfPanel.d.ts +45 -8
  47. package/dist/types/perfPanel.d.ts.map +1 -1
  48. package/package.json +2 -2
package/dist/style.css CHANGED
@@ -53,14 +53,15 @@
53
53
  * 若宿主需要纸张观感(留白、阴影、整页最小高度),应在宿主层自行添加(参见 demo)。
54
54
  */
55
55
  /*
56
- * 左右各留 5px 可视区(负 margin 抵消,文字位置不变),让 mark 等块的 paddingX 在行首行尾
57
- * 外扩时不被裁掉。数值需与 canvasPainter 的 CANVAS_GUTTER 一致。
56
+ * 左右各留 10px 可视区(负 margin 抵消,文字位置不变)。画布外扩是 5px(CANVAS_GUTTER),
57
+ * 这段留白盖住它,mark 的 paddingX 在行首行尾不会被裁掉。横向再往外的内容直接裁掉,不出现横向滚动条。
58
58
  */
59
59
  .mini-page-wrap {
60
60
  flex: 1;
61
61
  overflow: auto;
62
- padding-inline: 5px;
63
- margin-inline: -5px;
62
+ overflow-x: clip;
63
+ padding: 0 10px;
64
+ margin: 0 -10px;
64
65
  }
65
66
 
66
67
  .mini-page {
@@ -579,11 +580,11 @@
579
580
  transform-origin: bottom center;
580
581
  }
581
582
 
582
- /* 选区焦点端:2px 竖线 + 顶端 6px 圆点,不闪烁。圆点整颗落在行内,
583
+ /* 选区焦点端:默认 2px 竖线 + 顶端 6px 圆点,不闪烁。圆点整颗落在行内,
583
584
  * 否则第一行(或滚到顶)时上半颗会被滚动容器裁掉。与 canvasPainter.drawFocusMark 同形 */
584
585
  .mini-focus-mark {
585
586
  position: absolute;
586
- width: 2px;
587
+ width: var(--mini-sel-focus-width, 2px);
587
588
  background: var(--mini-sel-focus-color, #2b6cff);
588
589
  pointer-events: none;
589
590
  z-index: 4;
@@ -592,7 +593,7 @@
592
593
  .mini-focus-mark::before {
593
594
  content: '';
594
595
  position: absolute;
595
- left: -2px;
596
+ left: calc((var(--mini-sel-focus-width, 2px) - 6px) / 2);
596
597
  top: 0;
597
598
  width: 6px;
598
599
  height: 6px;
@@ -24,9 +24,8 @@ export interface EditorOptions {
24
24
  */
25
25
  width?: 'fill' | number;
26
26
  /**
27
- * 内容版心内边距(像素),默认 `{ x: 72, y: 56 }`(纸张/文档形态的版心留白)。
28
- * 决定内容行相对绘制表面的起始偏移与四周留白。嵌入式输入框等紧凑形态可传
29
- * `{ x: 0, y: 0 }`,把留白完全交给宿主 CSS 控制。
27
+ * 内容版心内边距(像素),默认 `{ x: 0, y: 0 }`。
28
+ * 决定内容行相对绘制表面的起始偏移与四周留白。纸张形态由宿主自己传入。
30
29
  */
31
30
  padding?: {
32
31
  x: number;
@@ -64,9 +63,17 @@ export interface EditorOptions {
64
63
  * 彩虹光标 / 残影需显式 `caret: 'rainbow'`。
65
64
  */
66
65
  chrome?: EditorChrome;
67
- /** 左下角常驻性能面板:每次输入上屏后显示上屏延迟、编辑器耗时、排队时间。默认关;也可 `setPerfPanel()` 开关。 */
66
+ /** 左下角常驻性能面板:每次输入上屏后显示上屏时间、编辑器耗时。默认关;也可 `setPerfPanel()` 开关。 */
68
67
  perfPanel?: boolean;
68
+ /**
69
+ * 排版范围。不传时默认 `viewport`。
70
+ * `viewport` 只在 `paint: 'canvas'` 时生效:精确排视口和光标附近,其余用已知高度或估计高度占位。
71
+ * HTML 忽略此项,始终整篇排。运行中用 {@link Editor.setLayoutMode} 切换,传 `full` 即整篇排版。
72
+ */
73
+ layout?: LayoutMode;
69
74
  }
75
+ /** `full` 整篇排版。`viewport` 只在 Canvas 下排视口附近。 */
76
+ export type LayoutMode = 'full' | 'viewport';
70
77
  /** 编辑器装饰外观(光标、选区、空态占位)。与正文字号/字体测量分开,避免宿主 CSS 盖绘制层。 */
71
78
  export interface EditorChrome {
72
79
  /** 默认 `solid`。演示能力用 `rainbow`。 */
@@ -91,6 +98,10 @@ export interface EditorChrome {
91
98
  selectionHeight?: number;
92
99
  /** 选区焦点竖线(含顶部圆点)颜色。默认 `#2b6cff`,不跟 `selectionColor` 变化。 */
93
100
  focusMarkColor?: string;
101
+ /** 选区焦点竖线宽度,像素。默认 2。圆点仍是 6px。 */
102
+ focusMarkWidth?: number;
103
+ /** 整段选中时焦点线两端与边框的留白;0 保持旧样式。 */
104
+ focusMarkBorderGap?: number;
94
105
  /** 中文输入中间态下划线颜色。默认 `#1f2329`。 */
95
106
  composeUnderlineColor?: string;
96
107
  /** 中文输入中间态下划线粗细,默认 2。 */
@@ -170,6 +181,9 @@ export interface MarkSelectEvent {
170
181
  * - `markenter` / `markleave`:光标进入或离开 mark(含空 mark 和内侧边界)
171
182
  * - `markselect`:方向键整段选中的 mark 变了。光标只是停在里面不算。`id` 为 `null` 表示没有这块选中
172
183
  * - `slotselect`:光标落到芯片上或离开。芯片比 mark 更靠上
184
+ *
185
+ * 除 `markclick` 外都不是同步调用:同一类事件在静默期内只留最后一次,
186
+ * 停止输入 {@link CALLBACK_QUIET_MS} 毫秒后一起送出。监听里读到的是送出当时的文档。
173
187
  */
174
188
  export type EditorEventMap = {
175
189
  change: void;
@@ -193,6 +207,10 @@ export declare class Editor {
193
207
  /** 开发用性能探针:`editor.perf.start()` … `editor.perf.report()`。默认关闭,零开销 */
194
208
  readonly perf: PerfProbe;
195
209
  private perfPanel;
210
+ /** 最近一次输入处理结束的时刻,面板用来判断分段耗时是不是这次的 */
211
+ private layoutMeasuredAt;
212
+ /** 同一次输入(同一帧里的多个事件累加)的分段耗时 */
213
+ private phases;
196
214
  /** 构造时传入的宿主容器。'fill' 模式下从它测量可用宽度。 */
197
215
  private parent;
198
216
  /** 内容宽度策略,见 {@link EditorOptions.width}。 */
@@ -217,6 +235,18 @@ export declare class Editor {
217
235
  private chrome;
218
236
  private disabled;
219
237
  private paintMode;
238
+ private layoutMode;
239
+ private inRelayout;
240
+ private viewportSlack;
241
+ private layoutCoverY;
242
+ private layoutCoverIndex;
243
+ private rectFill;
244
+ private destroyed;
245
+ /** 静默期里同一类无参事件只保留一条,顺序按第一次出现。 */
246
+ private pendingVoid;
247
+ /** 带 id 的进入/离开。选中态只留最新的一条。 */
248
+ private pendingMarks;
249
+ private callbackTimer;
220
250
  private listeners;
221
251
  /** 中间态。键是 mark id。 */
222
252
  private markStatus;
@@ -243,6 +273,13 @@ export declare class Editor {
243
273
  /** 当前已镜像插入模型的组合串长度,用于下次幂等替换时删旧。 */
244
274
  private composeLen;
245
275
  private composeAffinity;
276
+ /**
277
+ * 最近一次把组合串插进文档的操作记录。确认时字已经在文档里,用它补进撤销栈,
278
+ * 不再删掉重插。只含插入,不含更早的临时串。
279
+ */
280
+ private composeInsert;
281
+ /** 组合刚落成正式编辑,紧接着的 insertText 是同一次确认的回声,跳过。 */
282
+ private composeCommitText;
246
283
  private refEdit;
247
284
  private fragSel;
248
285
  private refDragging;
@@ -267,6 +304,13 @@ export declare class Editor {
267
304
  get pageElement(): HTMLElement;
268
305
  /** 当前绘制后端。 */
269
306
  get paint(): 'html' | 'canvas';
307
+ /**
308
+ * 切换排版范围。`viewport` 只在 Canvas 下改变排版;HTML 始终整篇排。
309
+ * 切回 `full` 会丢掉视口布局,按原来的全文路径重排。
310
+ */
311
+ setLayoutMode(mode: LayoutMode): void;
312
+ /** 当前排版范围设置。HTML 下即使是 `viewport`,实际仍整篇排。 */
313
+ getLayoutMode(): LayoutMode;
270
314
  /** 更新空态占位文案。传空字符串则不再显示。 */
271
315
  setPlaceholder(text: string): void;
272
316
  /** 更新光标 / 选区等装饰外观,立即重绘 chrome。不改排版。 */
@@ -334,6 +378,18 @@ export declare class Editor {
334
378
  removeVirtualBlock(id: string): void;
335
379
  /** 删掉一段文字,并拆掉若干 mark。记成一步撤销。 */
336
380
  deleteRangeRemovingMarks(from: number, to: number, markIds: readonly string[]): void;
381
+ /**
382
+ * 按编辑前的下标删掉多段文字和列出的 mark,记成一步撤销。
383
+ * 重叠或紧挨的范围并成一段,从右往左删,避免后面的删除挪动前面的下标。
384
+ * `clearParagraphGroupId` 把该分组一并清掉,撤销时和文字一起回来。
385
+ */
386
+ deleteRangesRemovingMarks(ranges: readonly {
387
+ from: number;
388
+ to: number;
389
+ markIds: readonly string[];
390
+ }[], options?: {
391
+ clearParagraphGroupId?: string;
392
+ }): void;
337
393
  /**
338
394
  * 在指定位置插入宿主渲染块。`at` 省略为当前光标(会先删掉非折叠选区)。
339
395
  * 插入后选中该占位符,便于缩放框/选中态;宿主若要把光标放到块后,自行折叠到 `focus`。
@@ -382,6 +438,9 @@ export declare class Editor {
382
438
  /** 禁用输入与快捷键。宿主 disabled 不能只靠 CSS pointer-events。 */
383
439
  setDisabled(disabled: boolean): void;
384
440
  private emit;
441
+ /** 停手后把积压事件按出现顺序交给监听。监听里再发的事件重新计时,不插进这一批。 */
442
+ private flushCallbacks;
443
+ private deliver;
385
444
  private bindSurface;
386
445
  private unbindSurface;
387
446
  private hoverMarkIds;
@@ -429,6 +488,7 @@ export declare class Editor {
429
488
  private runEdit;
430
489
  /** 立即落一次变更,不进撤销栈。拖拽预览这类「过程中」的改动用它。 */
431
490
  private applyNow;
491
+ private applyNowRun;
432
492
  /**
433
493
  * 把已经预览生效的改动登记成一步可撤销的编辑。
434
494
  *
@@ -444,12 +504,17 @@ export declare class Editor {
444
504
  /**
445
505
  * 处理输入法组合态(拼音/候选的中间态)。
446
506
  *
447
- * 组合串镜像插入文档模型、参与真实排版 —— 每次变化都幂等地「删旧串 → 插新串」,
448
- * 光标后的内容因此靠正常重排让开,而不是被浮层盖住。整个组合过程用 applyNow
449
- * 落地、不进撤销栈;最终文字在 compositionend 后由 onInsertText 走一次正常插入
450
- * 落定成一步可撤销的编辑。组合区外观由白块 overlay 擦白,只留系统输入法的候选串。
507
+ * 组合过程中每次文字变化都把临时串映进文档并重排,让光标后面的正文让开。
508
+ * 这些写入不进撤销栈。确认时如果文档里已经是最终文字,只把最后一次插入补进
509
+ * 撤销栈,不再删掉重插,也不再排一次。文字对不上,或结尾会触发 Markdown 快捷
510
+ * 输入时,仍先删掉临时串,交给随后的 insertText 落成正式编辑。
451
511
  */
452
512
  private handleComposition;
513
+ /**
514
+ * 确认的文字已经在文档里。把当时的插入登记成一步可撤销的编辑。
515
+ * 文档和排版都不用再动,只收起组合下划线。
516
+ */
517
+ private settleComposition;
453
518
  insertText(text: string): void;
454
519
  pasteText(text: string): void;
455
520
  pasteClipboard(data: DataTransfer | null): void;
@@ -508,6 +573,17 @@ export declare class Editor {
508
573
  * 片段选区。
509
574
  */
510
575
  private applyHistoryStep;
576
+ /** 画布模式整段先不生成字形,绘制和光标碰到的行再补。HTML 一次画全文,仍当场生成。 */
577
+ private layoutMain;
578
+ private usesViewportLayout;
579
+ private layoutWindow;
580
+ /**
581
+ * 可见带里还有没有没排出来的块。页边距、段间距、表后空隙是留白,不是洞;
582
+ * 把留白当成洞的话,每次滚动都会重排,再被 scrollCaret 拽回光标。
583
+ */
584
+ private coversBand;
585
+ private onViewportShift;
586
+ private hitDocIndex;
511
587
  private relayout;
512
588
  private paintChrome;
513
589
  /**
@@ -524,6 +600,8 @@ export declare class Editor {
524
600
  * 整块选中的图片/引用/视频仍不画:那是选中一个对象,没有可挪动的一端。
525
601
  */
526
602
  private focusMarkPos;
603
+ /** Visual alignment only; keep the document selection and its affinity unchanged. */
604
+ private alignSelectedFocus;
527
605
  /**
528
606
  * 方向键选中 mark 但还没进入:竖线停在进入侧的外侧。
529
607
  * 从左边来:焦点在起点,用贴前(底色外)。从右边来:焦点在终点,用贴后(底色外)。
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/editor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../src/embed/ref.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,eAAO,MAAM,QAAQ,kBAAkB,CAAC;AACxC,eAAO,MAAM,OAAO,iBAAiB,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD,wBAAgB,UAAU,CACxB,MAAM,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/C,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,aAAa,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CASnC;AAgGD,eAAO,MAAM,SAAS,EAAE,WA0DvB,CAAC;AAeF,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,UAAQ,QAO9G"}
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../src/embed/ref.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,eAAO,MAAM,QAAQ,kBAAkB,CAAC;AACxC,eAAO,MAAM,OAAO,iBAAiB,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD,wBAAgB,UAAU,CACxB,MAAM,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/C,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,aAAa,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CASnC;AAiGD,eAAO,MAAM,SAAS,EAAE,WA0DvB,CAAC;AAeF,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,UAAQ,QAO9G"}
@@ -15,7 +15,7 @@
15
15
  * new Editor(el, { plugins: [...builtinEmbedPlugins, formulaPlugin] });
16
16
  */
17
17
  export { Editor } from './editor';
18
- export type { EditorChrome, EditorEvent, EditorEventMap, EditorOptions, EditorState, EmbedInsertAt, MarkEvent, MarkSelectEvent, MarkStatus } from './editor';
18
+ export type { EditorChrome, EditorEvent, EditorEventMap, EditorOptions, EditorState, EmbedInsertAt, LayoutMode, MarkEvent, MarkSelectEvent, MarkStatus } from './editor';
19
19
  export { INPUT_SHORTCUTS, inputShortcuts, SHORTCUTS } from './commands';
20
20
  export type { EditorCommands, KeyStroke, Shortcut } from './commands';
21
21
  export { DocumentModel, collapsedSel, documentFromSlice, nextEntityId, nextFragmentId, nextVirtualBlockId, sliceFromDocument } from './model/document';
@@ -28,7 +28,7 @@ export type { ImagePatch, Operation, OperationContext, OperationRun, VirtualBloc
28
28
  export { SLICE_MIME, serializeSlice, sliceFromClipboard } from './convert/clipboard';
29
29
  export { layoutDocument, caretFromIndex, hitTestIndex, selectionRects } from './layout/engine';
30
30
  export { FONT_FAMILY, fontFamilyOf } from './layout/measure';
31
- export type { CaretPos, DocLayout, GlyphBox, LineBox, ParagraphLayout, SelRect, TableLayout } from './layout/types';
31
+ export type { CaretPos, DocLayout, GlyphBox, LayoutWindow, LineBox, ParagraphLayout, SelRect, TableLayout } from './layout/types';
32
32
  export { HtmlPainter } from './paint/htmlPainter';
33
33
  export { CanvasPainter } from './paint/canvasPainter';
34
34
  export type { PaintBackend } from './paint/types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG7J,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvJ,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EACV,KAAK,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG5G,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGpH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvI,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACrG,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGzK,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvJ,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EACV,KAAK,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG5G,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlI,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvI,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACrG,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ime.d.ts","sourceRoot":"","sources":["../../../src/input/ime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,WAAW,IAAI,IAAI,CAAC;IACpB,eAAe,IAAI,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,SAAS,UAAS;IAClB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,UAAU;IAgB/B,KAAK;IAIL,eAAe;IAIf;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBnD,cAAc;IAQd,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOtC,KAAK;IAIL,OAAO;IAUP,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,SAAS,CAOf;IAEF,OAAO,CAAC,aAAa,CA0CnB;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,cAAc,CAEpB;CACH"}
1
+ {"version":3,"file":"ime.d.ts","sourceRoot":"","sources":["../../../src/input/ime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,WAAW,IAAI,IAAI,CAAC;IACpB,eAAe,IAAI,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,SAAS,UAAS;IAClB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,UAAU;IAgB/B,KAAK;IAIL,eAAe;IAIf;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBnD,cAAc;IAQd,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOtC,KAAK;IAIL,OAAO;IAUP,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,SAAS,CAQf;IAEF,OAAO,CAAC,aAAa,CA0CnB;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,cAAc,CAEpB;CACH"}
@@ -0,0 +1,37 @@
1
+ import { type PreparedTextWithSegments } from '@chenglou/pretext';
2
+ import type { TextProps } from '../model/types';
3
+ /** 自检用:这一轮排版不读分段缓存,用来和快路径对拍。 */
4
+ export declare function withoutAdvanceCache<T>(fn: () => T): T;
5
+ /** 上一段的字形已经摆完,行宽缓存太大时再清。不能在一段排到一半时清。 */
6
+ export declare function releaseStaleLineWidths(): void;
7
+ export declare function rememberedWidth(text: string, props: TextProps): number | undefined;
8
+ export declare function rememberedGlyphWidths(text: string, props: TextProps): number[] | null;
9
+ export declare function beginTextRun(text: string, props: TextProps): void;
10
+ export declare function endTextRun(text: string, props: TextProps): void;
11
+ /** 这一行已经确定要放进版面,缓存路径才把游标移过它。offset 是 piece 在整段 text 里的起点。 */
12
+ export declare function acceptTextPiece(text: string, offset: number, piece: string): void;
13
+ /** 用已记住的分段取 text[offset] 起的下一行。没有可用分段时返回 null。 */
14
+ export declare function cachedLinePrefix(text: string, offset: number, props: TextProps, maxWidth: number): string | null;
15
+ /** 刚由分段缓存产出的那一行的宽度。没有则返回 -1,调用方再测宽。 */
16
+ export declare function takeMeasuredWidth(): number;
17
+ /** 自检用:走了分段缓存的行数。 */
18
+ export declare function advanceReuses(): number;
19
+ /** 整段每个字都是这个宽度时,一行能放几个。不是这种段就返回 null。 */
20
+ export declare function uniformColumns(text: string, props: TextProps, maxWidth: number): {
21
+ per: number;
22
+ unit: number;
23
+ } | null;
24
+ export declare function noteUniformLines(count: number): void;
25
+ /**
26
+ * 分段已经在手上时,按和逐行 walk 相同的规则一次把整段折完。
27
+ * 逗号句号会粘在前一个字上,不能按字数切,但也不必每行再进一次缓存。
28
+ * 切不开(一段比行还宽)时返回 null,调用方退回逐行。
29
+ * 空格只是一段普通宽度:后面的汉字放得下就留在本行,不再整段退回空格处。
30
+ */
31
+ export declare function linesFromCurrent(text: string, props: TextProps, maxWidth: number, from?: number): {
32
+ to: number;
33
+ width: number;
34
+ advances: number[];
35
+ }[] | null;
36
+ export declare function notePretextLine(offset: number, props: TextProps, prepared: PreparedTextWithSegments, endSegment: number, endGrapheme: number, piece: string): void;
37
+ //# sourceMappingURL=advances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advances.d.ts","sourceRoot":"","sources":["../../../src/layout/advances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAqDhD,gCAAgC;AAChC,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQrD;AAyFD,wCAAwC;AACxC,wBAAgB,sBAAsB,SAErC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,CAYrF;AA8hBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QAgB1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QAaxD;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAyC1E;AAsBD,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqDhH;AAQD,uCAAuC;AACvC,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED,qBAAqB;AACrB,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAKrH;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,QAE7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAI,GACP;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,GAAG,IAAI,CAoC5D;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,IAAI,CA6BN"}
@@ -1,8 +1,28 @@
1
1
  import { DocumentModel } from '../model/document';
2
- import { StyleSpan, Selection } from '../model/types';
3
- import { CaretPos, DocLayout, ImageBox, SelRect } from './types';
2
+ import { StyleSpan, TextProps, Selection } from '../model/types';
3
+ import { CaretPos, DocLayout, ImageBox, LayoutWindow, LineBox, SelRect } from './types';
4
4
  import { type MarkLayoutHint } from './wrap';
5
5
  export { resolvedTextStyle } from './style';
6
+ /** 这一行的正文还没变成字形。空行和已经补过的行都不是。 */
7
+ export declare function glyphsDeferred(line: LineBox): boolean;
8
+ /**
9
+ * 把一行的字形补上。相邻行一起补,折行的 mark 才能接上外框。
10
+ * 已经补过或本来就没有正文的行直接返回。
11
+ */
12
+ /**
13
+ * 还没生成字形的纯文本行。绘制可以直接把这一行字符串画上去,不必为每个字建盒子。
14
+ * 光标、选区、下划线和 mark 仍走 {@link materializeLine}。
15
+ */
16
+ export declare function deferredTextRun(line: LineBox): {
17
+ text: string;
18
+ style: TextProps;
19
+ x: number;
20
+ y: number;
21
+ h: number;
22
+ } | null;
23
+ /** 这一行画出来的样子。和上一帧相同就可以不重画。比较不了的行返回 null,调用方照常重画。 */
24
+ export declare function linePaintKey(line: LineBox): string | null;
25
+ export declare function materializeLine(line: LineBox, prev?: LineBox | null, next?: LineBox | null): void;
6
26
  /**
7
27
  * 按块查样式区间的索引。
8
28
  *
@@ -38,12 +58,26 @@ export declare class StyleIndex {
38
58
  export interface LayoutStats {
39
59
  reused: number;
40
60
  laidOut: number;
61
+ /** 切段、建索引和缓存表,以及逐段循环里哈希/重排/后移之外的记账,毫秒 */
62
+ scanMs: number;
63
+ /** 逐段算哈希并查找缓存,毫秒 */
64
+ hashMs: number;
65
+ /** 没命中的段落/表格重新折行测宽,毫秒 */
66
+ layoutMs: number;
67
+ /** 复用块改下标、改纵坐标,毫秒。下标和纵坐标都没变的段落不计入 */
68
+ shiftMs: number;
69
+ /** 这次实际改过下标的字形数 */
70
+ shiftedGlyphs: number;
71
+ /** 把各段的行、图片收成整篇布局,毫秒 */
72
+ assembleMs: number;
41
73
  }
42
74
  export declare function lastLayoutStats(): LayoutStats;
75
+ /** 点击落在还没有行框的估计高度上。调用方应补排这一纵坐标后再做命中测试。 */
76
+ export declare function layoutHoleAt(layout: DocLayout, y: number): boolean;
43
77
  export declare function layoutDocument(doc: DocumentModel, contentWidth?: number, prev?: DocLayout, insets?: {
44
78
  x: number;
45
79
  y: number;
46
- }, depth?: number, markHints?: Map<string, MarkLayoutHint>): DocLayout;
80
+ }, depth?: number, markHints?: Map<string, MarkLayoutHint>, deferGlyphs?: boolean, focus?: LayoutWindow): DocLayout;
47
81
  export declare function caretFromIndex(layout: DocLayout, index: number): CaretPos;
48
82
  export declare function hitTestIndex(layout: DocLayout, localX: number, localY: number): number;
49
83
  export declare function selectionRects(layout: DocLayout, sel: Selection): SelRect[];
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/layout/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAGL,SAAS,EACT,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,QAAQ,EAAyB,SAAS,EAAY,QAAQ,EAA4B,OAAO,EAA+B,MAAM,SAAS,CAAC;AACzJ,OAAO,EAA4M,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEvP,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAokB5C;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAc;IAC3B,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAW;gBAEb,KAAK,EAAE,SAAS,EAAE;IAU9B,gCAAgC;IAChC,OAAO,CAAC,UAAU;IAWlB;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;CAa7D;AAiLD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,eAAe,IAAI,WAAW,CAE7C;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,YAAY,SAAqB,EACjC,IAAI,CAAC,EAAE,SAAS,EAChB,MAAM,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA6C,EAC3E,KAAK,SAAI,EACT,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACtC,SAAS,CAmMX;AA0BD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAezE;AAuCD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CActF;AAiCD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,EAAE,CA+C3E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE5E;AA8BD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAc9D"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/layout/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAGL,SAAS,EACT,SAAS,EACT,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,QAAQ,EAAyB,SAAS,EAAsB,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAmB,OAAO,EAA+B,MAAM,SAAS,CAAC;AACjL,OAAO,EAAiO,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE5Q,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAiS5C,iCAAiC;AACjC,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAErD;AAyND;;;GAGG;AACH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQzH;AAeD,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmBzD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,QAU1F;AA+QD;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAc;IAC3B,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAW;gBAEb,KAAK,EAAE,SAAS,EAAE;IAU9B,gCAAgC;IAChC,OAAO,CAAC,UAAU;IAWlB;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;CAa7D;AA8ND;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAsBD,wBAAgB,eAAe,IAAI,WAAW,CAE7C;AA6CD,0CAA0C;AAC1C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAgBlE;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,YAAY,SAAqB,EACjC,IAAI,CAAC,EAAE,SAAS,EAChB,MAAM,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA6C,EAC3E,KAAK,SAAI,EACT,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,WAAW,UAAQ,EACnB,KAAK,CAAC,EAAE,YAAY,GACnB,SAAS,CAmZX;AAuCD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAgBzE;AAwCD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CActF;AAkCD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,EAAE,CAqD3E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE5E;AA8BD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAc9D"}
@@ -39,8 +39,8 @@ export declare function measureWidth(text: string, props: TextProps): number;
39
39
  *
40
40
  * 折行用的是整串测宽(带字距调整,如 `Te` 比两个字单独相加窄)。如果摆字改用
41
41
  * 「每个字单独测宽再累加」,同一行的实际宽度会比折行时认为的宽,最后一个字就会
42
- * 越过版心被裁掉。所以这里取前缀宽度之差:`w[k] = width(text[0..k]) - width(text[0..k-1])`,
43
- * 一整段的宽度之和与 {@link measureWidth}(text) 严格相等。
42
+ * 越过版心被裁掉。含拉丁字母或数字时取前缀宽度之差:`w[k] = width(text[0..k]) - width(text[0..k-1])`,
43
+ * 一整段的宽度之和与 {@link measureWidth}(text) 严格相等。汉字和全角标点没有字距调整,按单字测宽。
44
44
  *
45
45
  * 代理对:高位单元带整个码点的宽度,低位单元为 0,保持 `text.length` 个元素。
46
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../src/layout/measure.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2EAAqE,CAAC;AAE9F,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,0BAA0B;AAC1B,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,cAAc,IAAI,CAAC;AAMhC,wBAAgB,YAAY,SAI3B;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAK7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO7G;AAED,iDAAiD;AACjD,0BAA0B;AAC1B,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAGhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAGnD;AAwBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAexE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAanE;AAUD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAwB3E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAWrD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQzC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIjD"}
1
+ {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../src/layout/measure.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGzD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2EAAqE,CAAC;AAE9F,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,0BAA0B;AAC1B,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,cAAc,IAAI,CAAC;AAMhC,wBAAgB,YAAY,SAI3B;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAK7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO7G;AAED,iDAAiD;AACjD,0BAA0B;AAC1B,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAGhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAGnD;AAwBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAexE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAenE;AAwCD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CA8B3E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAWrD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQzC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIjD"}
@@ -1,5 +1,6 @@
1
1
  import { Align, ImageEntity, ListKind, ParagraphProps, TextProps, VirtualBlockChrome, VirtualBlockKind } from '../model/types';
2
2
  export interface CaretStop {
3
+ /** 相对所在段起点 `LineBox.paragraphStart`。文档下标要加上段起点。 */
3
4
  index: number;
4
5
  /** 贴前一个字时的光标位置 */
5
6
  x: number;
@@ -16,6 +17,7 @@ export interface CaretStop {
16
17
  placeholderTail?: boolean;
17
18
  }
18
19
  export interface GlyphBox {
20
+ /** 相对所在段起点 `LineBox.paragraphStart`。文档下标要加上段起点。 */
19
21
  index: number;
20
22
  x: number;
21
23
  y: number;
@@ -25,6 +27,7 @@ export interface GlyphBox {
25
27
  style: TextProps;
26
28
  }
27
29
  export interface ImageBox {
30
+ /** 文档下标。图片少,平移时直接改这个数,不改成相对偏移。 */
28
31
  index: number;
29
32
  x: number;
30
33
  y: number;
@@ -60,6 +63,8 @@ export interface VBlockFragment {
60
63
  rangeEnd: number;
61
64
  /** 盖住正文的 placeholder 或中间态文字,只画在第一行片段上 */
62
65
  labelText?: string;
66
+ /** 灰字的文档坐标。缺省时画在底色左缘再加 paddingX;左内边距不在这一行时,底色贴内容区,灰字仍用这个坐标 */
67
+ labelX?: number;
63
68
  labelRainbow?: boolean;
64
69
  /** placeholder 用灰色,中间态 label 用正文色 */
65
70
  labelColor?: string;
@@ -110,6 +115,14 @@ export interface ParagraphLayout {
110
115
  lines: LineBox[];
111
116
  floats?: ImageBox[];
112
117
  hash?: string;
118
+ /**
119
+ * 视口排版时,这块在窗口外,只有高度、没有行框。
120
+ * `estimated` 为真时高度是估计值,滚进窗口后会改成精确排版。
121
+ */
122
+ skipped?: boolean;
123
+ estimated?: boolean;
124
+ /** 只排了段首若干行,`h` 含未排尾部的估计高度。 */
125
+ partial?: boolean;
113
126
  }
114
127
  export interface CellLayout {
115
128
  row: number;
@@ -132,6 +145,21 @@ export interface TableLayout {
132
145
  colWidths: number[];
133
146
  cells: CellLayout[];
134
147
  hash?: string;
148
+ /** 视口排版时表格在窗口外,只有高度。 */
149
+ skipped?: boolean;
150
+ estimated?: boolean;
151
+ }
152
+ /**
153
+ * 只精确排这一纵向窗口(文档坐标)和 `indices` 所在的块。
154
+ * 不传则整篇排版,和原来一样。
155
+ */
156
+ export interface LayoutWindow {
157
+ top: number;
158
+ bottom: number;
159
+ /** 光标、选区、点击补排必须落到行框上的文档下标。 */
160
+ indices?: readonly number[];
161
+ /** 窗口上下再多排的像素。默认 480。 */
162
+ overscan?: number;
135
163
  }
136
164
  export interface DocLayout {
137
165
  width: number;
@@ -139,6 +167,8 @@ export interface DocLayout {
139
167
  contentX: number;
140
168
  contentY: number;
141
169
  contentWidth: number;
170
+ /** 排版时的文字默认值键。变了就要全部重算哈希,不能沿用上次的段哈希。 */
171
+ textKey: string;
142
172
  paragraphs: ParagraphLayout[];
143
173
  tables: TableLayout[];
144
174
  lines: LineBox[];
@@ -153,12 +183,21 @@ export interface DocLayout {
153
183
  top: number;
154
184
  bottom: number;
155
185
  };
186
+ /**
187
+ * 这次是视口排版:窗口外的块可能没有行框。
188
+ * 全文排版不带这个字段,避免被当成下一次全文增量的缓存。
189
+ */
190
+ windowed?: boolean;
156
191
  /**
157
192
  * 已经作为 prev 喂给过一次增量排版。增量排版会把复用的块就地平移(不深拷贝),
158
193
  * 所以同一份布局只能被消费一次;再次传入时退回拷贝路径,结果仍正确只是慢。
159
194
  */
160
195
  consumed?: boolean;
161
196
  }
197
+ /** 字形、停靠点的 index 是相对段首的偏移。 */
198
+ export declare function docIndex(line: {
199
+ paragraphStart: number;
200
+ }, offset: number): number;
162
201
  export interface CaretPos {
163
202
  x: number;
164
203
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/layout/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/layout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE/H,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,CAAC,EAAE,MAAM,CAAC;IACV;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,+BAA+B;AAC/B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC;IAC7G,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB;;;;;OAKG;IACH,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,8BAA8B;AAC9B,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -6,6 +6,9 @@ export type WrapItem = {
6
6
  length: number;
7
7
  text: string;
8
8
  style: TextProps;
9
+ width?: number;
10
+ advances?: number[];
11
+ charWidth?: number;
9
12
  } | {
10
13
  kind: 'image';
11
14
  index: number;
@@ -110,9 +113,13 @@ export interface LockedSpan {
110
113
  label: string;
111
114
  }
112
115
  /**
113
- * 断行走 pretext 的 prepareWithSegments + layoutNextLine(pre-wrap)。
114
- * 嵌入对象(图/视频/代码/公式)保持原子盒,不交给 pretext。
116
+ * 只折出大约 `maxLines` 行。前若干行和整段折行一致:多折一行再丢掉最后一行,
117
+ * 避免前缀在行中间被切断。段比窗口短时一次折完,`partial` 为假。
115
118
  */
119
+ export declare function wrapParagraphCapped(doc: DocumentModel, start: number, end: number, para: ParagraphProps, maxWidth: number, maxLines: number, coverUntil?: number): {
120
+ lines: WrappedLine[];
121
+ partial: boolean;
122
+ };
116
123
  export declare function wrapParagraph(doc: DocumentModel, start: number, end: number, para: ParagraphProps, maxWidth: number): WrappedLine[];
117
124
  export type FlowObstacle = {
118
125
  x: number;