New to Typophile? Accounts are free, and easy to set up.
Hi typophiles!
Largely motived by the excellent feedback I got on the previous thread in which I posted the first "code escape" of the Cornu-based curve editor, I am now releasing a second version, as a source tarball for Unix-like systems.
I believe that the segfaults reported by Robin Houston are now fixed (the ones due to coincident points due to his patch, the other ones due to numerical instabilities when spirals are too close to perfect circles).
But the main thing you'll notice are the usability improvements; just click on a curve to insert a knot, or press Ctrl-D to delete one. You can also select (and move) groups of points at once. Double-clicking a curve closes it, and Ctrl-click makes a corner point, so you don't have to do the click,Ctrl-T combo.
As before, you need either Linux (or anu reasonable Unix) system or OSX with Fink set up for development. The main libraries are Gtk 1.2 and Libart-2. I will post a native OSX version soon as well.
Feedback is always welcome. It's possible at this point that I am going to pursue making it into a real product and/or licensable technology, so don't be surprised if there's a period of quiet followed by some kind of announcement.
22 Nov 2004 — 8:52pm
Raph, just downloaded and compiled this version. Clicked around a little.
I like the usability improvements, drag selecting and the 3 useful modes.
It's possible at this point that I am going to pursue making it into a real product and/or licensable technology
I think that would be smart.
My offer from the previous thread stands. More as I get time.
Jon
23 Nov 2004 — 12:36am
It's possible at this point that I am going to pursue making it into a real product and/or licensable technology
That would be very cool, and prompts me to re-ask: what would be involved in getting a version of this to work on Windows? Sorry if that is a terribly distasteful thought, I'm just wondering how difficult it would be.
23 Nov 2004 — 9:59am
That would be very cool, and prompts me to re-ask: what would be involved in getting a version of this to work on Windows? Sorry if that is a terribly distasteful thought, I'm just wondering how difficult it would be.
Not distasteful at all. The answer is basically: 1000 lines of code. Ordinarily, I could toss that off in a weekend[*], but the fact is that I have never actually written a Win32 GUI app before, so I have to factor in the time it takes to learn the platform.
So my current plan is to release the OSX version first, because it's easier (it shares roots with Linux), then tackle the Win32 port. I make no promises when it'll be done, but getting good feedback sure helps motivate me!
*Ok, that's bragging a bit :)
23 Nov 2004 — 10:45am
Thanks, Raph. In the meantime, my wife is setting up a Linux machine, so perhaps I can snag a corner of her harddrive for Spiro.
23 Nov 2004 — 1:05pm
This is very nice, and I'm rather disappointed that I haven't been able to crash it yet. Feels much more solid. The selection mode is very useful; I love being able to move whole curves around. Predictably enough, I enjoy being able to close a curve by double clicking.
) Also the 'corner mode' is redundant; Ctrl-click in curve mode is wonderful and sufficient. Two global modes, together with a clear visual indication of which you're in (like a different mouse pointer) would be fine I think.
But enough sycophancy: what don't I like? The invisible global modes, of course. (The Apple Human Interface guidelines are very sound on this topic IMO; and even vi tells you what mode you're in these days.
Adding a knot to a curve behaves rather confusingly. You have to click near the curve, and the knot is then added at the exact point where you clicked, which usually causes the rest of the curve to change slightly. I think it would be better to add the knot as nearly as possible directly onto the existing curve instead. For curves that don't intersect themselves, it seems (experimentally) to be possible to add new knots in such a way that the existing curve doesn't perceptibly change.
It would be nice to be able to use the arrow keys to fine-tune the placement of knots.
Probably you've already thought of all these things. Just throwing them out as fuel or grist.
PS. Hey, I'm a regular!
23 Nov 2004 — 1:20pm
I've also been wondering about the discontinuities in the mapping from points to curves. For example, the following sequence of four curves appears as I move the selected point gradually leftwards.


I'm not sure whether this is a problem; or if it is, whether it has a reasonable solution. Would it be feasible and/or sensible to favour curves that don't intersect themselves?