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.
which runs well in Mac OS and Linux and for the basics has the basic vector editing capabilities which folks would expect.
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.
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.
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?
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.
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
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.
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.
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.
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.
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)
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.
I have failed a number of times producing an SVG file that would render the same on browsers and in Inkscape editor window. This is frustrating.
yay for Inkscape but please make dialog modals when multiple tabs are open come to the front and show themselves on macOS - don’t be shy
It didn’t need be a proprietary format, it could just as well be a new open format. Inkscape could itself create an open format that they saved to by default and supported many features SVG does not. They they publish the specification for it. Done.
A format doesn’t need to be popular, in widespread use, or proprietary to be useful.
Copy/paste/recenter/resize. No live filter needed. So good even EZCad does it and it can barely do any sort of SVG editing or creation.
The issue with using SVG is it's not meant for use as data exchange in vector graphics editors but for web publishing.
If svgx files or whatever just had some non-svg node in the top level that contained all of the special inkscape-only info, you might even be able to keep it totally compatible with svg itself. (Just obviously, lacking the special inkscape features)
<svg>
<ink:inkscaperoot xmlns:ink="inkscapeschema">
<effect href="#x">
<border strokewidth="1"... />
<border strokewidth="1"... />
<border strokewidth="1"... />
</effect>
</ink:inkscaperoot>
<g><rect id="x" />... regular svg...</g>
</svg>