Clear (and the background-colour fill it does on a Background layer) read the whole selection bounds into one float buffer, looked the selection up in its tile map once per pixel and wrote every tile back, single-threaded. On an 8000x6000 layer that took about 2 s (3 s on the Background). It now edits the encoded tiles in parallel, drops fully cleared tiles, shares one solid tile for fully covered opaque fills and copies a tile only when a pixel in it changes. Results match the old pass exactly; 20-110 ms on the same documents. Fixes #3463 Co-authored-by: Fabio Lussi <198260595+itrycodinganditsbad@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||