@one2x/medeo-rte 0.4.10 → 1.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 (43) hide show
  1. package/README.md +5 -289
  2. package/dist/index.js +4198 -2669
  3. package/dist/index.js.map +1 -1
  4. package/dist/style.css +5 -4
  5. package/dist/types/editor.d.ts +31 -29
  6. package/dist/types/editor.d.ts.map +1 -1
  7. package/dist/types/embed/ref.d.ts.map +1 -1
  8. package/dist/types/input/ime.d.ts.map +1 -1
  9. package/dist/types/layout/advances.d.ts +37 -0
  10. package/dist/types/layout/advances.d.ts.map +1 -0
  11. package/dist/types/layout/engine.d.ts +35 -3
  12. package/dist/types/layout/engine.d.ts.map +1 -1
  13. package/dist/types/layout/measure.d.ts +2 -2
  14. package/dist/types/layout/measure.d.ts.map +1 -1
  15. package/dist/types/layout/types.d.ts +25 -0
  16. package/dist/types/layout/types.d.ts.map +1 -1
  17. package/dist/types/layout/wrap.d.ts +3 -4
  18. package/dist/types/layout/wrap.d.ts.map +1 -1
  19. package/dist/types/model/blocks.d.ts +18 -0
  20. package/dist/types/model/blocks.d.ts.map +1 -1
  21. package/dist/types/model/document.d.ts +63 -2
  22. package/dist/types/model/document.d.ts.map +1 -1
  23. package/dist/types/model/spacerText.d.ts +19 -0
  24. package/dist/types/model/spacerText.d.ts.map +1 -0
  25. package/dist/types/model/types.d.ts +5 -3
  26. package/dist/types/model/types.d.ts.map +1 -1
  27. package/dist/types/mutations/apply.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/paint/canvasPainter.d.ts +13 -4
  32. package/dist/types/paint/canvasPainter.d.ts.map +1 -1
  33. package/dist/types/paint/decorations.d.ts +1 -1
  34. package/dist/types/paint/decorations.d.ts.map +1 -1
  35. package/dist/types/paint/htmlPainter.d.ts +1 -2
  36. package/dist/types/paint/htmlPainter.d.ts.map +1 -1
  37. package/dist/types/paint/markBox.d.ts +31 -24
  38. package/dist/types/paint/markBox.d.ts.map +1 -1
  39. package/dist/types/paint/types.d.ts +3 -3
  40. package/dist/types/paint/types.d.ts.map +1 -1
  41. package/dist/types/perfPanel.d.ts +45 -8
  42. package/dist/types/perfPanel.d.ts.map +1 -1
  43. package/package.json +1 -1
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 {
@@ -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,7 +63,7 @@ export interface EditorOptions {
64
63
  * 彩虹光标 / 残影需显式 `caret: 'rainbow'`。
65
64
  */
66
65
  chrome?: EditorChrome;
67
- /** 左下角常驻性能面板:每次输入上屏后显示上屏延迟、编辑器耗时、排队时间。默认关;也可 `setPerfPanel()` 开关。 */
66
+ /** 左下角常驻性能面板:每次输入上屏后显示上屏时间、编辑器耗时。默认关;也可 `setPerfPanel()` 开关。 */
68
67
  perfPanel?: boolean;
69
68
  }
70
69
  /** 编辑器装饰外观(光标、选区、空态占位)。与正文字号/字体测量分开,避免宿主 CSS 盖绘制层。 */
@@ -75,16 +74,22 @@ export interface EditorChrome {
75
74
  caretColor?: string;
76
75
  /** `solid` 时光标宽度,默认 2。 */
77
76
  caretWidth?: number;
77
+ /** `solid` 时光标高度 px,在行内居中。不传铺满行高。 */
78
+ caretHeight?: number;
78
79
  /** 是否画光标残影。默认关闭;`rainbow` 时可打开。 */
79
80
  caretTrail?: boolean;
80
81
  /**
81
82
  * 选区高亮色。默认接近浏览器原生选区:`rgba(43, 108, 255, 0.22)`。
82
83
  * 扁平填充,不再用彩虹渐变。`caret: 'rainbow'` 且未指定本项时,demo 仍用渐变选区。
83
- * 选区焦点端的标记(竖线 + 顶部圆点)固定为 {@link FOCUS_MARK_COLOR},不跟本色变化。
84
+ * 选区焦点端的标记(竖线 + 顶部圆点)用 `focusMarkColor`,默认 {@link FOCUS_MARK_COLOR},不跟本色变化。
84
85
  */
85
86
  selectionColor?: string;
86
87
  /** 选区圆角,像素。默认 0(和 `::selection` 一样是矩形)。 */
87
88
  selectionRadius?: number;
89
+ /** 选区高亮高度 px,在行内居中收短。不传铺满行高。 */
90
+ selectionHeight?: number;
91
+ /** 选区焦点竖线(含顶部圆点)颜色。默认 `#2b6cff`,不跟 `selectionColor` 变化。 */
92
+ focusMarkColor?: string;
88
93
  /** 中文输入中间态下划线颜色。默认 `#1f2329`。 */
89
94
  composeUnderlineColor?: string;
90
95
  /** 中文输入中间态下划线粗细,默认 2。 */
@@ -104,11 +109,6 @@ export interface EditorChrome {
104
109
  * 系统剪贴板里的纯文本和 HTML 本来就不含 mark,不受影响。
105
110
  */
106
111
  copyContentOnly?: boolean;
107
- /**
108
- * 字间距,像素,加在每个字后面(同 CSS `letter-spacing`),默认 0。
109
- * 整篇统一:正文排版、绘制,以及 mark 的 placeholder / label 都按它算;改了会整篇重排。
110
- */
111
- letterSpacing?: number;
112
112
  }
113
113
  /** 插入嵌入对象的落点:文档下标,或起/止/当前光标。 */
114
114
  export type EmbedInsertAt = number | 'start' | 'end' | 'cursor';
@@ -192,6 +192,10 @@ export declare class Editor {
192
192
  /** 开发用性能探针:`editor.perf.start()` … `editor.perf.report()`。默认关闭,零开销 */
193
193
  readonly perf: PerfProbe;
194
194
  private perfPanel;
195
+ /** 最近一次输入处理结束的时刻,面板用来判断分段耗时是不是这次的 */
196
+ private layoutMeasuredAt;
197
+ /** 同一次输入(同一帧里的多个事件累加)的分段耗时 */
198
+ private phases;
195
199
  /** 构造时传入的宿主容器。'fill' 模式下从它测量可用宽度。 */
196
200
  private parent;
197
201
  /** 内容宽度策略,见 {@link EditorOptions.width}。 */
@@ -268,7 +272,7 @@ export declare class Editor {
268
272
  get paint(): 'html' | 'canvas';
269
273
  /** 更新空态占位文案。传空字符串则不再显示。 */
270
274
  setPlaceholder(text: string): void;
271
- /** 更新光标 / 选区等装饰外观,立即重绘 chrome。 */
275
+ /** 更新光标 / 选区等装饰外观,立即重绘 chrome。不改排版。 */
272
276
  setChrome(patch: Partial<EditorChrome>): void;
273
277
  /**
274
278
  * 更新默认正文字号/颜色/字体。已写进 span 的同色文字会跟着改(给主题切换用),不进撤销。
@@ -384,31 +388,19 @@ export declare class Editor {
384
388
  private bindSurface;
385
389
  private unbindSurface;
386
390
  private hoverMarkIds;
387
- private hoverSkinId;
388
391
  private onSurfaceLeave;
389
392
  private setHoverMark;
390
- /**
391
- * 指针没贴到芯片上,但落在包住它的 mark 里、并且横向贴着这颗芯片。
392
- * 和内层 mark 一样:这圈算 slot,外层边框不先亮。没配悬停皮的芯片不抢。
393
- */
394
- private slotBesideMark;
395
- /** 指针落在芯片上。芯片自己有悬停皮时,mark 的悬停让给它。没有悬停皮的 host 不抢,mark 继续画。 */
393
+ /** 指针落在芯片盒子上。背后的 mark 仍按盒子一起换悬停皮。 */
396
394
  private slotUnderPoint;
397
- private slotStealsMarkHover;
398
395
  /** 鼠标下最上面的 mark 碎片,不要求配了 hoverBackground。 */
399
396
  private markFragmentUnderPoint;
400
- /** 鼠标下最上面的 mark,不要求配了 hoverBackground。点击用这个,padding 仍算外层。 */
397
+ /** 鼠标下最上面的 mark,不要求配了 hoverBackground。点击用这个。 */
401
398
  private markUnderPoint;
402
- /**
403
- * 指针下要换悬停皮的那块。几何最上层在内容盒里就用它。
404
- * 指针只擦过它的 padding、并且这圈贴着更内层的 mark 时,改记内层,避免外层边框闪一下。
405
- */
406
- private hoverSkinAt;
407
- /** 这一点上该亮的悬停。slot 有悬停皮时 mark 让位。 */
399
+ /** 这一点上该亮的悬停。slot 和背后的 mark 可以同时亮。 */
408
400
  private resolveHover;
409
401
  /**
410
402
  * 指针在两行之间的缝里。缝不按盒子碰撞,否则更高的外层会贴住缝、内层边框一灭外层就闪。
411
- * 用同一个横坐标问上一行的下沿和下一行的上沿。两边要亮的是同一块,缝里就继续亮这块。
403
+ * 用同一个横坐标问上一行的下沿和下一行的上沿。两边要亮的是同一组 mark,缝里就继续亮。
412
404
  */
413
405
  private hoverInLineGap;
414
406
  /** 鼠标底下每一块配了悬停样式的 mark,外层和内层一起算(折行时命中任一行片段都算)。 */
@@ -458,7 +450,8 @@ export declare class Editor {
458
450
  * 组合串镜像插入文档模型、参与真实排版 —— 每次变化都幂等地「删旧串 → 插新串」,
459
451
  * 光标后的内容因此靠正常重排让开,而不是被浮层盖住。整个组合过程用 applyNow
460
452
  * 落地、不进撤销栈;最终文字在 compositionend 后由 onInsertText 走一次正常插入
461
- * 落定成一步可撤销的编辑。组合区外观由白块 overlay 擦白,只留系统输入法的候选串。
453
+ * 落定成一步可撤销的编辑。确认时删拼音和插入在同一次按键里完成,只在插入后重排一次。
454
+ * 组合区外观由白块 overlay 擦白,只留系统输入法的候选串。
462
455
  */
463
456
  private handleComposition;
464
457
  insertText(text: string): void;
@@ -519,6 +512,8 @@ export declare class Editor {
519
512
  * 片段选区。
520
513
  */
521
514
  private applyHistoryStep;
515
+ /** 画布模式整段先不生成字形,绘制和光标碰到的行再补。HTML 一次画全文,仍当场生成。 */
516
+ private layoutMain;
522
517
  private relayout;
523
518
  private paintChrome;
524
519
  /**
@@ -530,9 +525,16 @@ export declare class Editor {
530
525
  private decorateRefNodes;
531
526
  private paintCaretLayer;
532
527
  /**
533
- * 文字选区焦点端的标记位置。整块选中的嵌入对象不画:那是选中一个对象,没有可挪动的一端。
528
+ * 焦点端竖线位置。普通文字选区、方向键整段选中的 mark、选中的 slot 都画。
529
+ * mark 选中态还没进块:画在进入侧的外侧(左边界贴前 / 右边界贴后)。
530
+ * 整块选中的图片/引用/视频仍不画:那是选中一个对象,没有可挪动的一端。
534
531
  */
535
532
  private focusMarkPos;
533
+ /**
534
+ * 方向键选中 mark 但还没进入:竖线停在进入侧的外侧。
535
+ * 从左边来:焦点在起点,用贴前(底色外)。从右边来:焦点在终点,用贴后(底色外)。
536
+ */
537
+ private armedOuterFocusPos;
536
538
  private focusMarkCache;
537
539
  /** 组合串起点(锚点)的屏幕坐标;主文档与片段内编辑都算对。 */
538
540
  private composeCaret;
@@ -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"}
@@ -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, 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,24 @@ 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;
43
75
  export declare function layoutDocument(doc: DocumentModel, contentWidth?: number, prev?: DocLayout, insets?: {
44
76
  x: number;
45
77
  y: number;
46
- }, depth?: number, markHints?: Map<string, MarkLayoutHint>): DocLayout;
78
+ }, depth?: number, markHints?: Map<string, MarkLayoutHint>, deferGlyphs?: boolean): DocLayout;
47
79
  export declare function caretFromIndex(layout: DocLayout, index: number): CaretPos;
48
80
  export declare function hitTestIndex(layout: DocLayout, localX: number, localY: number): number;
49
81
  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;AA4iB5C;;;;;;;;;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":"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"}
@@ -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;
@@ -68,6 +73,20 @@ export interface VBlockFragment {
68
73
  /** 灰字和中间态文字的字体,与落点正文同一套,测宽和绘制共用 */
69
74
  labelStyle?: Pick<TextProps, 'fontSize' | 'fontFamily' | 'fontWeight' | 'bold' | 'italic' | 'letterSpacing'>;
70
75
  pulse?: boolean;
76
+ /**
77
+ * 行间距为 0 且这块 mark 折行时:与上一行 / 下一行同 mark 碎块的横向重叠段。
78
+ * 有值的一侧上下紧挨,绘制时合成一圈外框(重叠段不画横边)。行间距大于 0 时不会出现。
79
+ */
80
+ joinPrev?: VBlockJoin;
81
+ joinNext?: VBlockJoin;
82
+ }
83
+ /** 与相邻行同 mark 碎块的连接:横向重叠段 [x0,x1],以及对方碎块的位置和高度 */
84
+ export interface VBlockJoin {
85
+ x0: number;
86
+ x1: number;
87
+ x: number;
88
+ w: number;
89
+ h: number;
71
90
  }
72
91
  export interface LineBox {
73
92
  paragraphStart: number;
@@ -125,6 +144,8 @@ export interface DocLayout {
125
144
  contentX: number;
126
145
  contentY: number;
127
146
  contentWidth: number;
147
+ /** 排版时的文字默认值键。变了就要全部重算哈希,不能沿用上次的段哈希。 */
148
+ textKey: string;
128
149
  paragraphs: ParagraphLayout[];
129
150
  tables: TableLayout[];
130
151
  lines: LineBox[];
@@ -145,6 +166,10 @@ export interface DocLayout {
145
166
  */
146
167
  consumed?: boolean;
147
168
  }
169
+ /** 字形、停靠点的 index 是相对段首的偏移。 */
170
+ export declare function docIndex(line: {
171
+ paragraphStart: number;
172
+ }, offset: number): number;
148
173
  export interface CaretPos {
149
174
  x: number;
150
175
  y: number;
@@ -1 +1 @@
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,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,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,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,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;CACjB;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;CACf;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;CACf;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,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;CACpB;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"}
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;CACf;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;CACf;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;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;
@@ -109,10 +112,6 @@ export interface LockedSpan {
109
112
  head: boolean;
110
113
  label: string;
111
114
  }
112
- /**
113
- * 断行走 pretext 的 prepareWithSegments + layoutNextLine(pre-wrap)。
114
- * 嵌入对象(图/视频/代码/公式)保持原子盒,不交给 pretext。
115
- */
116
115
  export declare function wrapParagraph(doc: DocumentModel, start: number, end: number, para: ParagraphProps, maxWidth: number): WrappedLine[];
117
116
  export type FlowObstacle = {
118
117
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/layout/wrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/layout/wrap.ts"],"names":[],"mappings":"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"}
@@ -28,17 +28,35 @@ export interface TableBlock {
28
28
  }
29
29
  export type Block = ParagraphBlock | TableBlock;
30
30
  export declare function parseBlocks(spacers: string): Block[];
31
+ /** 插入或删除的文字里有段分隔符、表格标记时,段结构变了,不能在旧切段上平移。 */
32
+ export declare function containsStructuralMarker(text: string): boolean;
33
+ /**
34
+ * 快路径:在已有切段上记一次段内插入,返回被改段落的序号。
35
+ * 返回 null 就是常规路径(表格内、段外、对不上任何段)。
36
+ * 跨段替换会带上段分隔符,在调用前就被挡下。
37
+ */
38
+ export declare function adjustBlocksForLocalInsert(blocks: Block[], index: number, len: number): number | null;
39
+ /** 删掉的区间必须整段落在同一段里,且调用方已确认里面没有结构标记。 */
40
+ export declare function adjustBlocksForLocalDelete(blocks: Block[], from: number, to: number): number | null;
41
+ export declare function cloneBlocks(blocks: readonly Block[]): Block[];
31
42
  export declare function findTableAt(spacers: string, index: number): TableBlock | null;
32
43
  export declare function isEmptyParagraph(spacers: string, para: ParaRange): boolean;
33
44
  /** 列表标记 / 标题画在段落样式上,不进 spacer;有它们时占位符不能当空文档。 */
34
45
  export declare function isVisuallyEmptyDoc(doc: {
35
46
  spacers: string;
47
+ length?: number;
48
+ charAt?: (index: number) => string;
49
+ blocksForLayout?: () => {
50
+ blocks: Block[];
51
+ };
36
52
  entities: {
37
53
  size: number;
38
54
  };
39
55
  paragraphPropsAt: (index: number) => ParagraphProps;
40
56
  }): boolean;
41
57
  export declare function findParagraphAt(spacers: string, index: number): ParaRange | null;
58
+ /** 在已有切段上找 index 所在段落,不再扫字符。 */
59
+ export declare function paragraphInBlocks(blocks: Block[], index: number, length: number): ParaRange | null;
42
60
  export declare function paragraphsIntersecting(spacers: string, start: number, end: number): ParaRange[];
43
61
  export declare function cellAt(spacers: string, index: number): {
44
62
  table: TableBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/model/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/model/blocks.ts"],"names":[],"mappings":"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"}