ManimCommunity/manim

Investigate replacement of skia-pathops

Open

#3,529 opened on Dec 14, 2023

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

Repository metrics

Stars
 (17,820 stars)
PR merge metrics
 (Avg merge 90d 10h) (31 merged PRs in 30d)

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