Acorn 8 has been released!
This is a major update of Acorn, and is currently on a time-limited sale for $19.99. It's still a one time purchase to use as long as you'd like, and as usual, the full release notes are available. I want to highlight some of my favorite things below.
"Select Subject", "Mask Subject", and "Remove Background" are new commands which use machine learning (or A.I. if you prefer) to find the most important parts of your image, and then perform their respective operations. This has been a request for a long time, and while I was doubtful of its utility, it's actually pretty fun to play with and more useful than I figured it would be. So I'm glad I took the time to integrate it.
You can now set your measurement units to inches, centimeter, or pixels, and it shows up across the tools for your image, not just specific ones. This includes the crop palette, shape dimensions, filter settings… well, pretty much everything. This might be the oldest feature request I've implemented so far. And then related to this, Acorn 8 now has an on canvas ruler which you can use to measure out distances, straighten your image with, or even redefine the DPI.
Look up Table (LUT) support. LUTs are pretty fun, and they work by mapping one set of colors to another, enabling consistent or stylized visual effects. LUTs are used primarily in photography or filmmaking, and you can download and install new LUTs from various places across the internet.
Acorn 8 has the ability to read in a CSV file and it'll dynamically swap in the row values and replace text or bitmap graphics depending on what's in the data file. It's like mail merge, but for images. This is pretty awesome if you have a bunch of templated images you want to create.
Acorn has a new "Quick Processor". It's a quick version of the Shape Processor, where you can duplicate shapes, rotate, transform, and apply other operations to them. You can even use snippets of JavaScript to perform your own magic to shapes, including modifying anchors in bezier shapes. I hope to build a little library of cool JavaScript shape filters for this in the future.
OK, now for some geeky implementation things.
OpenGL has been completely removed and Acorn is 100% Metal. This was nice to do, and I was waiting to drop support for older versions of macOS first, but I'm glad it's finally happened.
Acorn's Shortcuts support has been completely rewritten (in Swift) to use the new App Intents framework. Hopefully this puts Acorn in a good place for the future as Apple adds more Siri integration to apps. Maybe someday you'll be able to say "Open up these selected images in Acorn, crop them to 4x3, convert to PNG, save and close them". That's the dream anyway.
Acorn's internal Bézier implementation has been reworked. This was one of the first things I did, as there was a mismatch in the internal API that Acorn used and what it presented on screen. In the classic implementation of Bézier curves you have a start point, two control points (cp1 & cp2), and an end point. But that's not how anybody actually uses when it's presented on screen. On screen you generally manipulate a single anchor, which can represent both a start and end point, and the previous curve's cp2 and the next curve's cp1. Not to mention all the nuances where a shape can have multiple continous paths, or maybe the path is closed or it's still open. So I wrote a fun shim on top of the Bézier "data" which became the new interface for Acorn's canvas to manipulate anchors and such. I backed it all up with tests and this new model ended up fixing some bugs and making the implementation cleaner. It's always a good feeling when you can get something done like that, even if it doesn't really change anything that the customer can see.
And finally, Acorn's documentation has been converted from custom RTF files (and an app named "FMWrite") into Markdown, which hopefully opens up the door for more integration with templates and services. I certainly have been enjoying seeing diffs between revision commits.
Of course there's more. There's always more. Make sure to tell a friend, and even check out the full release notes.