ManimCommunity/manim

Investigate replacement of skia-pathops

Open

#3529 opened on Dec 14, 2023

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Python (17,820 stars) (1,378 forks)batch import
good first issuenew feature

Description

Based on #3456 I am opening a new issue as suggested.

A small summary follows:

  1. We have no control on Skia as it is a google tool and google is famous to drop its own products
  2. Skia supports only 2D animation,
  3. We use only a tiny part of Skia, namely we use it only for bool operation (which to me feels like to kill a fly with a cannon)

Perhaps, if we want support only 2D for boolean operations, we may think to rely on a simpler tool with less dependencies and for which we could have some control, like svgpathtools but I feel that it requires some "in-house" work that may take some time (I honestly see this as a good MsC thesis work for some student).

Alternatively this one seems to stand-out: Pyclipr is a Python library offering the functionality of the Clipper2 polygon clipping and offsetting library

Angus Johnson - Clipper2 https://github.com/drlukeparry/pyclipr

And here for a 3D-library

https://lukeparry.uk/pycork-a-boolean-csg-library-for-python/ https://github.com/elalish/manifold

(the latter is also suggested in the description of the former and it has python bindings).

Contributor guide