Skip to content

Refactor "Clean up path" extension

What does the merge request do?

  • Does not convert everything to cubic anymore, only segments which are touched by the extension
  • Fix node joining at the end of subpath
  • General refactoring to remove slow or convoluted logic Fixes #606

Implementation notes

Basically rewrote the entire thing. Mypy and pylint are now happy with it, and cut about 150 lines of logic.

The test files have been checked; the output is in most cases (except where detailed above) identical to before, but when joining subpaths, the resulting subpath order can have changed (let's say we join 1 and 3, this previously replaced subpath 3 (and 1 was deleted, placing 2 first), now we join both as subpath 1). For closed subpaths, this means that the results are identical up to re-enumeration of the nodes.

Summary for release notes

The Clean Up Path extension is now more robust and faster.

Checklist

  • Add unit tests (if applicable)
  • Changes to inkex/ are well documented
  • Clean merge request history
Edited by Jonathan Neuhauser

Merge request reports

Loading