← Back to context

Comment by AlienRobot

11 hours ago

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.

> 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.

You might look into https://graphite.rs/ . MS Paint is about my digital art interface complexity limit, but I do read Graphite's blog posts and their app sounds really attractive for more serious artists

  • In what ways are they different from Inkscape? (My knowledge of Vector Editors is quite limited)

    • I haven't used Graphite, but from what I've seen it allows for non-destructive procedural editing using nodes (à la Blender), which Inkscape mostly doesn't do.

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.

    • You don't have to have a proprietary format to do that.

      You are doing the mistake of associating open format with standard format, which really are orthogonal concepts. Open format means the format specification is published under an open license. A standard format is one whose specification is maintained by a standards organization/body/consortium. It happens that most open formats are or end up being maintained by a standard body out of convenience[1] and because people often publish them in the open with the hope it will also be used by others but it doesn't have to be. You as developer of application foo can publish the spec of your .bar format on foo's website under an open license and do the fuck you want with it while not being limited by the potential slowness of a standard governing body.

      [1] mostly to avoid multiple incompatible forked versions of the format being used with the same name and confusing others.

      1 reply →

> 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)

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.

    • This is my complaint about the current state of developer tools. You can buy beautiful tools to make a beautiful chest of drawers or a chair. We are, or at least were, trying to paint the Sistine Chapel with finger paints.

      Maybe if we surrounded ourselves with beautiful and sensible tools it would be easier for us to write beautiful or sensible applications. Maybe there would be fewer dancing bears.