Commit 71a108f
committed
feat:1.4.0 (c)
- **相较 1.3.x:`applyEditWithDiff(...)` 现在优先保证有界、可预期**
- 细粒度 diff 精化现在受全局预算约束(比较数 / 锚点 / op / 子树规模 / wall-clock),一旦继续细化不划算,就会直接退化为 coarse splice 或保守整树 diff。
- 预算超限属于正常控制流,不再表现为“精化过程像异常一样失败”;对接入方来说,拿到的是稳定的保守 diff,而不是额外的异常形态。
- 当这次编辑实际命中增量路径时,root 级精细 diff 会先局部化到增量 dirty window,而不是继续对整棵 root tree 细化。
- **相较 1.3.x:保守 diff 的语义更清晰**
- 当调用方能提供完整快照长度时,整树保守 fallback 现在会报告整文档 dirty span,避免在无 position 回退场景下把脏区误报得过小。
- 默认 `diffRefinementDepthCap` 已调低,深层嵌套 diff 会更早退化,极端树输入下的行为也更一致。1 parent e2b319b commit 71a108f
9 files changed
Lines changed: 1167 additions & 207 deletions
File tree
- src
- incremental
- types
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
432 | 432 | | |
433 | 433 | | |
434 | 434 | | |
435 | | - | |
| 435 | + | |
436 | 436 | | |
437 | 437 | | |
438 | 438 | | |
| |||
0 commit comments