Sparkling gems and new releases from the world of Free and Open Source Software

FOSSPicks

Article from Issue 276/2023
Author(s):

Graham looks at Graphite, retrogram~rtlsdr, Piano Forte, OneTrick SIMIAN, The Command Line Murders, and more!

Vector image editor

Graphite

Open source art and design tools have transformed what is possible for anyone needing digital illustration. It wasn't so long ago that costly applications such as Photoshop or Illustrator were the only ways to produce professional output, but that has changed. Tools such as Inkscape and Krita can do just as well, and even the humble Gimp is great for multilayer bitmap editing – no subscriptions required. The new software idea in design and illustration tools is non-destructive node graph editing, and outside of Blender, open source options are currently few and far between. Graphite, however, is one such option, and while it's only early in the developmental phase, and currently only available within a web browser, it's an entirely open source vector graphics editor that promises a native Linux desktop client soon.

With non-destructive node graph editing, each distinctive tool or process you use adds a "node" to a graph, with each node linked to both the previous edit and the subsequent edit. A final session will consequently look like a row of various nodes all linked together. Graphite shows this graph beneath the editing canvas, and it's the only part of the UI that comes from other graphics applications. There's a large tool palette on the left, individual properties for tools on the right, and the canvas itself in the center. The palette includes tools for freehand drawing, a path generator, various shapes to draw, advanced typesetting, and flood-fill with lots of gradients. It's all beautifully designed and rendered. Every element is drawn perfectly at the native resolution of your display. Even in a web browser, it's fast to use. It may not be ideal, but it does also mean you can collaborate on an illustration, and it will even work on a smartphone or Android tablet. You can import images and use both raster and vector images as your sources and output, and HDR and WCG are supported for color rendering. The back-end render engine is "resolution-agnostic," which means your designs are kept as algorithms until they're finally exported at whatever size or resolution you need, as either a PNG, JPEG, or SVG file. Even raster images become infinitely scalable, with no pixelation, thanks to Graphite's own scaling algorithms.

The properties for the path generator allow for transformations, solid fills, and gradient fills, with different types of strokes for the lines. It's these properties, and the properties of the other tools, that you can revisit at any time by clicking on the node for the edit in the graph. And it's exactly this kind of nonlinear editing that makes Graphite so powerful. It means you can busy yourself with the important parts of a design or illustration, such as its layout and arrangement, without worrying about the exact details such as widths or colors because these can always be adjusted later. If you're doing work for a client, it means you can always go back to earlier steps in the design process to change properties without affecting later edits or values. This approach could also be potentially automated, and Graphite hopes to incorporate this parametric editing into studio production environments.

While using a web browser isn't ideal, you can at least self-host the project and run the browser locally if you prefer. A native application would be ideal, however, and this is promised. As the project has been written with Rust, with its own framework, this work should hopefully be more feasible than it might be for other, less modern projects. With a native application this might become one of the best open source solutions available.

Project Website

https://graphite.rs/

1. Canvas: Due to the virtual nature of the canvas, it can be any size, including infinitely large. 2. Tools palette: As with many such tools, you can draw with predefined shapes or freehand, with options for alignment and layer priority. 3. Properties: Everything about a shape can be edited as a parameter, either in the Properties tab or the node editor. 4. Stroke and gradients: Change how things are drawn and how they're filled. 5. Guides: Alignment lines appear dynamically as you scale and move objects. 6. Rotate and scale: Every element is algorithmically scaled and drawn. 7. Node editor: Layers can be alternatively edited from nodes for every operation supported by the editor.

Radio scanner

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News