https://gitlab.com/inkscape/inkscape/-/merge_requests/5167
Before this option appeared in Inkscape nightly builds, I had no way of automating a pipeline to rasterize SVGs into black&white PNGs in a pixel perfect way.
https://gitlab.com/inkscape/inkscape/-/merge_requests/5167
Before this option appeared in Inkscape nightly builds, I had no way of automating a pipeline to rasterize SVGs into black&white PNGs in a pixel perfect way.
Every time I see an Inkscape update I skim it for "massive performance upgrades" and am invariably disappointed. Inkscape doesn't need features, it needs to not lag for 5 seconds when I open a menu, it needs to run at 100+fps when I'm editing paths.
EDIT: I installed the latest version (under W10) and while it doesn't degrade to bounding boxes it's still like 10fps and it leaves trailing copies of the item being dragged around the canvas while I'm dragging. Really disappointing.
[nix-shell:~]$ inkscape --version Inkscape 1.3.2 (091e20ef0f, 2023-11-25)
[nix-shell:~]$ nixos-version 24.05.3787.a781ff33ae25 (Uakari)
Seems flawless for me. simple example I made: https://imgur.com/a/wi0kXbm
If you want your media to be stolen to generate 'new' media, choose Adobe. If you want to own your produced media, choose free software, such as Inkscape, Krita, Gimp, Cinelerra-CV, KDEnlive, Blender, Ardour.
For example, for the longest time, if you put the cursor in a text field and then hit cmd-A to select all text, it would interpret that to mean select all objects in the canvas instead. Another thing is that sometimes when I click and drag the corner of the window to resize it, the thing just won't budge. It takes several attempts before it actually works. Very frustrating, but it's open source and gets the job done for the most part, so it's very hard for me to move away from it.
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.
https://www.grc.com/sn/sn-996-notes.pdf (page 18) https://twit.tv/shows/security-now/episodes/996
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.
cd <Inkscape directory>
set GDK_SCALE=2
start inkscape.exe
And within Inkscape using the Minwaita-Inkscape theme and 80% font scaling to scale back the otherwise-now-too-big UI.
On both my Mac and PC, the main frustration once the UI is scaled correctly is that often closing pop-up windows (i.e. Document Properties) simply doesn't work. Sometimes using Inkscape's tab close button rather than the MacOS/Windows close window button works, but other times the whole app will freeze up and crash when attempting to close these pop-up windows. Have had this issue for multiple Inkscape versions now, hoping the devs find a way to fix it.
As noted elsethread:
Wick Editor implements some aspects of the vector drawing from Flash: https://www.wickeditor.com/#/
If you're willing to consider a commercial option, Serif's Affinity Designer may suit.
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.
That could make the path from Designer to FreeCAD a bit easier; FreeCAD still has something of a special relationship with Inkscape SVG files.
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?
Presently one workflow to work around it is to consider a small area of the canvas as a palette area and create lines/objects in them and apply the desires styles on them. Then duplicate these palette objects into your main drawing.
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.
Another piece of 2D vector software that I use and recommend is Graphite [1]. It too is open source. Graphite has nodes and can be procedural in nature. Have them both in your graphics toolbox.
(It's really not too difficult.)
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.
I used to use Xara Extreme and it's very fast, intuitive and handy mainly due its hybrid features. It's also used to be open source but not anymore:
Shape Builder
You can now tackle quick edits on raster (pixel) images within Inkscape using the Shape Builder tool. Load an image and select sections that you want to isolate.
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.
I mean as a consumer I see it as a mark of disrespect from the manufacturer to plaster its logo everywhere. I am paying for the product, not to be an advertising billboard ffs! If you want me to advertise your product, let me negociate the terms and my retribution. This was particularly annoying on road bicycles in the early 2000's where most bike manufacturers would put as many are 7 or 8 logos on the frame and every single component maker would also do the same with loud bright on black logos for every single other part.
see this example of a cannodale supersix of that era: https://files.bikeindex.org/uploads/Pu/582923/large_BRD28952...
Bottom line: when I am restoring a bicycle, motorbike, whatever, the first thing to go are usually the branding and logos.
For example, QGIS and FreeCAD are very good indeed on the Mac, and the quirky problems FreeCAD has on the Mac are generally Qt problems (font mapping, some window handling stuff, very occasional high-DPI things).
Command-line/server-based FOSS stuff is usually not a great challenge.
I guess this is kind of what one could predict, comparing Linux and the Mac. Though it's also the case that Qt and Gtk get more portability eyeballs on Windows, which again is probably what one could predict.
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
I think it could benefit from availability in package reposirories and looking at the license, it appears the program itself is free under the Apache license but the artwork is non-free. It cannot be modified and commercial use is prohibited.
When combined, Graphite as a whole is non-free so I won't be compiling this until the artwork is gone. I'll look into providing some dummy files and see where it goes.
The other packing problem is that there's already a server monitoring program also named Graphite. But given the above, a change of name and new icons would solve both problems.
The second time it appears, you can uncheck "Show this every time" in the lower left corner and then click "New Document".
...or you could click Save on the first dialog and then click " Thanks!". You'll get the same dialog as above when you'd have closed it with the button in the corner.
For inkscape, some of the more sophisticated generative things were "use and forget" for me but they have actually improved to be much more intuitive. The main thing I lose is some of the natural touch that makes it so fast to use. I do love when I use it regularly because it's so quick to pump about svgs at the speed of thought.
Getting really good at a vector tool is such a valuable life skill for explaining all manner of tricky things whether it's for UI mockups, software architecture or graphic design stuff like logos/t-shirt/marketing designs. I live for the "how on earth have you done this?" reaction when I can create a quality diagram while on a call with people. It can really enrich the quality of interactions and reduce cycle time to create designs in real time.
I also use it for all sorts of personal stuff like interior design, DIY, scaffolding etc. I've even submitted official architectural plans I made with it. It's as valuable as a spreadsheet.
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.
Most things are ugly though. The stuff people restore (like classic motorcycles) often have pretty great aesthetics and that's part of why they want to restore the object.
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.
… bug fixes and setting the stage for the arrival of GTK 4.
Gtk4. Meanwhile at Gimp? Puh. Maybe they will manage to port to the 14 year old Gtk3 soon. I hope it at least. I’m sure the Gimp developers doing their best and will benefit soon from Wayland and HiDPI.It's more like that's the minimum that's expected.
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>
--edit--
Looking at the linked page that would be super trivial to implement.
There are of course a large number of people who do the opposite. They take vintage bikes and chop them up into cafe racers or whatever. And that's fine too. Just not what I'm interested in.
Sorry.