Commit a5536ae
perf(clone): skip idle machinery per child in fast mode, make canvas pre-rAF Safari-only
- idleCallback fast path: direct Promise.all over deepClone instead of deal()/idle()
wrappers (removes an extra promise + two closures per node on large trees).
- CANVAS snapshot: the unconditional requestAnimationFrame cost a serialized frame per
canvas; only WebKit needs it to materialize the poked buffer. Other engines rely on
toDataURL being synchronous, with the existing blank-result retry as safety net.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 7a5179d commit a5536ae
2 files changed
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
168 | 172 | | |
169 | 173 | | |
170 | 174 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
20 | 26 | | |
21 | 27 | | |
22 | 28 | | |
| |||
0 commit comments