Version 0.46 of the open source vector graphics editor Inkscape is out, showcasing new tools, new effects, new filters, and a host of interface and speed improvements.
Binary downloads are available for all three major operating system platforms on the Inkscape project site. The Linux build is provided in autopackage and ZeroInstall formats. The site links to unofficial Fedora packages, and Ubuntu users can install the update with APT using the Inkscape team's DEB repository; instructions are on the Inkscape home page. More distribution-specific packages are expected to follow soon for other distros.
Two new tools debut in 0.46, and several others pick up additional features.
The first of the new tools is the 3-D box tool. Like the spiral and polygon tools, it serves a single purpose -- drawing accurate 2-D representations of three-dimensional boxes. You can adjust the size of the boxes you draw in all three dimensions, and Inkscape keeps them correctly aligned to invisible vanishing points.
The other new tool is the tweak tool, which sports enough modes that it is almost eight tools in one. With the tweak tool, you can push, pull, stretch, and distort existing objects and paths by touching them with the cursor, in a manner somewhat like the painting tools in raster graphics editors.
The tweak tool's modes are push, grow, shrink, attract, repel, roughen, color paint, and color jitter. Push is straightforward in its effect, stretching and deforming objects and paths by touch. Grow and shrink restrict the possible deformation with respect to the object itself -- grow only pushes out from the interior of the object, and shrink collapses toward the interior. Attract and repel, though similar to grow and shrink, work in relation to the cursor, not the target object. Roughen randomly perturbs the target object, adding jitter to bounding paths.
It can take some practice to get accustomed to when each mode is most appropriate, but all affect the drawing instantly, so they are simple to learn. Unlike the first six, the final two modes do not affect paths or object shapes at all, but only fill and stroke color. Color paint shifts the color of the target object toward the tweak tool's selected color, while color jitter makes random alterations.
Among the existing tools, perhaps the most noticeable new feature is the engraving mode for the calligraphy pen. It allows you to create simulated woodcarvings, with complex cross-hatching effects that would be tedious to mimic one stroke at a time.
Also of note is the ability to generate circles and ellipses that connect through selected points (as opposed to having control over only the center point), and the new ability of the pencil and pen tools to draw single dots. In the past, they required cursor motion to draw, meaning the smallest stroke possible was always a short line segment.
The user interface receives some attention in this release. Previously floating toolbars, dialogs, and palettes can now be docked with the main document window. Working with color palettes is easier; you can drag and drop color swatches onto objects, or assign them with right-click context menu items. And you can adjust objects' colors with what Inkscape calls "color gestures" -- click and hold the color swatch, then move the mouse to change the color's hue, saturation, or value.
0.46 incorporates much greater control over grids and guide lines than previous releases, an improvement that will be felt when working with all of the tools. Grids and guides are now separate in the Document Properties dialog, reflecting their new flexibility and better distinguishing between them: guides are individual, movable lines to which you can snap or align objects, while grids are more like virtual graph paper -- regular coordinate systems that cover the entire workspace.
In prior releases, only vertical and horizontal guides were available, but now you can place guide lines at any angle, and you can create guides from objects and paths. Plus, you can now create 3-D "axonometric" grids in addition to the traditional 2-D rectangular grid. Better still, you can have multiple grids active in the same document, and control their visibility separately.
Path effects: live!
Just as interesting as a new tool is the new live path effects (LPE) system. LPE was one of Inkscape's Google Summer of Code projects in 2007, and now that it is available in a stable build, it is hard to argue with its importance.
In a nutshell, LPE allows you to create special effects that can be altered and adjusted on the fly. It starts with a reference path, to which you can apply transformations, add patterns, or stitch connecting lines. You can then manipulate the resulting creation by changing the reference path -- your pattern or other transformations adjust to the new shape automatically.
Four predefined effects ship with 0.46: Pattern Along Path, Bend Path, Stitch Sub-Paths, and Gears. You can also create your own LPE; a tutorial is available on the project wiki.
More effects, even more filters
Several "traditional" effects -- meaning the occupants of the Effects menu, not the LPE functions mentioned above -- join the ranks in 0.46. Newcomers include 2-D bar code generation, spirograph, whirl, grid, and gear generation, new text and color transformations, and improvements to the function plotter. Inkscape can also call ImageMagick commands on selected objects, and pull the results directly into the working document.
Last year's 0.45 release introduced the first SVG filter to Inkscape, Gaussian Blur. This time, the project has added support for 13 more: Blend, ColorMatrix, Composite, ConvoleMatrix, DiffuseLighting, SpecularLighting, DisplacementMap, Flood, Image, Merge, Morphology, Offset, and Turbulence. Some, like Blend and ColorMatrix, can directly act on objects and paths. Others, like Merge and Offset, are more like building blocks; their effects will best be seen when they are chained together with other filters.
These additions bring Inkscape closer to implementing the complete SVG filter effects set. That will be a major milestone; SVG filters allow vector images to implement effects previously thought of as solely the domain of raster graphics.
The new version sports changes under the hood as well. It is color-managed, supporting per-window display adjustments -- so you can work with adjusted and unadjusted documents simultaneously -- and offers multi-monitor-aware XICC support, so that your color-adjusted documents display correctly even when you drag them across different displays. Inkscape can also save SVG documents using calibrated, managed color definitions that ensure correct display in other applications.
Document import and export are improved. Inkscape can directly import PDFs and documents from Adobe Illustrator version 9.0 and later (when Illustrator changed file formats). Import is also improved for Illustrator's flavor of SVG, for CorelDraw, Windows Metafile (WMF), and XAML.
Bitmap export has new options, including the ability to save every object in a single SVG file as its own raster output file (a feature sure to be enjoyed by icon designers).
Inkscape has begun the transition to the Cairo graphics rendering library that first hit Subversion last year. Outline mode is Cairo-based, and is reportedly 25% faster and uses half the memory of previous releases. Look forward to more of the same as Cairo works its way into the rest of the codebase. There are also noticeable speed-ups in frequent tasks such as screen redraws, dragging and moving objects, and scrolling and panning the canvas.
And yet there's more
Believe it or not, the improvements and new features described above only account for a fraction of what's new in Inkscape 0.46. There is considerably more outlined in the official release notes that either I haven't had the time to test, haven't figured out how to test, or just ran out of space to talk about.
I tested 0.46 using the project's development repository for Ubuntu Gutsy. As the instructions warned, it is a little unstable. I experienced a couple of crashes, both of which Inkscape recovered from with the ability to auto-restore the file I had been working on. But if you are doing production work, check with your distro's package management system to see when official builds are available, or look on the Inkscape download page for a package built for your system specifically.
Kudos to the Inkscape team for yet again packing so much into a release -- new tools, enhanced filters and effects, interface improvements, and interesting new features like Live Path Effects.