TinyVG / specification

The specification for TinyVG. This is the central authority for the file system

Home Page:https://tinyvg.tech/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Proposal] Remove circular/elliptic arcs?

neinseg opened this issue · comments

commented

AFAICT all of these increase implementation complexity while their only advantage is reduced file size. Circular and elliptic arcs can be approximated pixel-accurately (for reasonable pixel dimensions of a curve) using one cubic bezier per quarter-circle. Thus, I think it would be reasonable to convert any incoming circular or elliptic arcs from an SVG to cubics. This could also be done later during rendering, but as far as I understand TinyVG the idea is to front-load some of the rendering complexity (e.g. text) off the renderer and into the converter/output library.

This could also be done later during rendering, but as far as I understand TinyVG the idea is to front-load some of the rendering complexity (e.g. text) off the renderer and into the converter/output library.

Yes, but only so much until it effectively hurts the file size. If you have a circle-heavy file, you can get down from 69 byte to 46 when not using beziers (as they are much heavier in encoding than arcs and especially circles). And this is a near 65% reduction in file size.

Rejected due to file size increase and that it has to implemented somewhere anyways. Using arc elements is imho very convenient to have.