Comment by tetris11

12 hours ago

The more I learn about the SVG spec, the more I understand the rationale of some of the UI decisions inkscape made, and the more impressed I am by how they implemented advanced techniques like shape union and intersection, clipping and masking.

Yes, it is very important for learning Inkscape to understand that Inkscape is a SVG editor, but not for common graph editor.

From the little I know about SVG, I wish there was an open source alternative to Inkscape that didn't support standard SVG but used a proprietary format instead.

Almost everything you need to create vector art, SVG doesn't support.

Multiple outlines in a single shape? No. Varying thickness in an outline? No. Rounded corners on arbitrary vertices? No. Non-destructive boolean operations? No. I'm not even sure SVG supports paragraphs.

Many of these Inkscape implements as live filters, which are saved as SVG extensions in the XML .svg file that nobody but Inkscape can properly load.

SVG is ridiculously bad as a creation format. It's a good format to export to, but as a backend and it's just insane. It's like using a single PNG file as a backend for your multi-layer 128bpp raster project.

I use Inkscape a lot but I can't help but notice that the best vector art illustration come from Affinity Designer, Corel Draw, and Adobe Illustrator. If you compare the quality of artwork made with proprietary tools to those made with Inkscape, it's very clear that Inkscape severely limits what artists can achieve. You can easily create complex illustrations in other tools that would be a nightmare to manage in Inkscape. Just compare how you clip something in Inkscape to how you do it in Affinity. It's ridiculous how different the two workflows are.

  • > From the little I know about SVG, I wish there was an open source alternative to Inkscape that didn't support standard SVG but used a proprietary format instead.

    Maybe Flash will become popular again at some point, so a well heeled enthusiast (or group of) could buy the source for the Flash Authoring tool from Adobe then release it as OSS. :)

    (not holding my breath though)

  • > proprietary format

    I also used CorelDraw for many years before moving on to Inkscape, and there were definitely some features that I still miss (e.g. better power clip behavior, blend shapes, etc). But I have came to appreciate Inkscape using SVGs because it allowed me to build my own tooling around it, I only needed libraries that can read and write XML.

    SVG is maybe not the best format and Inkscape has many extensions that made their SVGs nonstandard (e.g. mesh gradient), but it is a fairly accessible format. I am not sure the gains promised by a proprietary format would be worth losing out on various SVG/XML tools.

  • All of the things you mentioned can be done in SVG and I've done all of these things before.

    For multiple lines just duplicate your shapes and group or even join them. For varying thickness you can duplicate your shape and layer them. Rounded corners are supported on every vertice so I'm not sure where are you geting that.

    • I'm not the OP you're replying to but I think you missed some of their points.

      1) multiple outlines: with your strategy, you can no longer edit the shape as a single shape afterwards.

      2) varying thickness: it sounds like you're thinking of thickness varying abruptly from one line segment to another, but remaining constant throughout one segment. I would like a feature where the stroke width varies continuously from one vertex to another, that is, get smoothly thicker or thinner.

      3) you can only have rounded corners on every vertex or no vertex of a shape. You can't choose individually for each vertex.

      I think these are all features that SVG would benefit from adding.

  • How is clipping different in Affinity and in Inkskape? Having used only Inkscape and not Affinity, I don't find the workflow Inkskape is using problematic.

    • In affinity, you have something like a layer window with all your shapes, similar to layer and objects in Inkscape. The "layers" work like groups, so if you drag one shape into another shape, it gets clipped.

      So say you want to make something like a wall with a tunnel/cave and a road in it. You can draw a rectnagle, a circle, put the circle inside the rectangle and it's clipped, then use a triangle for the road and put it inside the circle and it's clipped.

      In Inkscape you need to select both shapes and use clip group. Which shape clips which depends on which shape is above the other. I can't tell you which one sould be above, by the way, because I never remember it. If you want to clip one shape by another shape that is already inside a clipping group, you have another problem because you need to double click the group to be able to selected the clipped shape. The more layers of clipping you have, the more you have to double click.

      The layer structure is also different. In Affinity, the shape itself is the group and occupies only 1 line in the layers window. In Inkscape, every clipping group creates 3 entries in the objects window. One for the group itself, one for the shape at the background, and one for the shapes being clipped. So in Inkscape you have something like:

      g277 (this is the group)

      -> circle

      -> Clip

      ---> rectangle

      In affinity you have:

      rectangle

      -> circle

  • > No. I'm not even sure SVG supports paragraphs.

    SVG 1.1 does not support wrapping (textflow). There are posts in stack-overflow on how to use a foreignObject (HTML) inside SVG to do the line wrapping.

    SVG 1.2 apparently supports but I have never used it so I don't know.

  • I'm very ignorant in these areas, but if you don't mind me asking - how would using a proprietary format solve issues for Inkscape, or an imagined alternative to Inkscape?

    Do all the others (AD, CD, AI) use some proprietary format that makes their life easier? Is there no better alternative to SVG on the open source side of things?

    • A proprietary format would allow doing anything, without having to worry about how other programs will support it.

      There’s a conflict between what is needed to simply display images, and what is needed for an ideal editable document.

      A web browser doesn’t need the complexity of non destructive Boolean operations, but an editor program does. It can all be exported to SVG at the end once it doesn’t need to be edited anymore. Things like variable thickness outlines can just be turned in to filled Bézier curve shapes that happen to be the shape of the outline.

  • Are you creatively crippled by not being able to create multiple outlines on a single shape on a file format that can be viewed in almost any device from here to eternity at no cost? Cause you know Michelangelo didn't use procreate in a iPad...do you?

    • And the cavemen drawing on walls before Michelangelo didn't have paintbrushes, complex pigments and cathedrals to paint on? Heaven forbid we make better tools.

      Considering those operations are available in other vector art tools that aren't constrained by directly using SVG as the fundamental editing format it seems like a reasonable complaint.

      1 reply →