community
community copied to clipboard
Add an `SVG` parser + renderer core provider
Our current SVG implementation is lightweight and does not need any extra dependency, but is buggy and incomplete. That's the pain point of trying to maintain a custom implementation.
For Kivy3.0.0 the proposal is to move the SVG parser+renderer to the "core provider" concept, to open the opportunity of having multiple implementations available, and ease the integration with external tools.
Having a fully working SVG parser+renderer means that our users can start using SVG icons in their apps, but also that we can abandon .png files for icons in our default theme (and themes?)
Related issues to consider:
- https://github.com/kivy/kivy/issues/8333
- https://github.com/kivy/kivy/issues/6102
- https://github.com/kivy/kivy/issues/5024
- https://github.com/kivy/kivy/issues/4285
- https://github.com/kivy/kivy/issues/3693
- https://github.com/kivy/kivy/issues/2752
- https://github.com/kivy/kivy/issues/2736
- https://github.com/kivy/kivy/issues/2584
Is this up for discussion?
Technically we have 2 options
- Using
skiato render svg - Using
usvgto render svg.
Since kivy has shown interest in skia i think maybe that's the better way forward
When referring to the "core provider", we're talking about an abstraction that uses one of the available implementations to achieve the result.
So, we can have both, but certainly, most of the time investment made in Skia for text layouting will also help here.