Jump to content

Recommended Posts

I found this interesting open source tool concept at HackerNews today:


This is not really a feature request, but maybe something to keep on the radar.

From the blog post:


This post introduces a new model for a path drawing (pen) tool, with a particular focus on font design. [...]

The core idea of the hyperbezier is the use of auto-points. These control points are adjusted automatically by the tool in order to maintain a smooth curve between neighbouring curve segments.

You can play with it directly in the browser, and there's a github repo available. Although it's in an early stage, it already looks quite useful for its purpose.

Edited by bitblitter
Link to post
Share on other sites

Two results encountered when moving a node close to another:


Using its demo Pen Tool, I drew this by dragging out three 'nodes':


Of course, you can't get that shape from three conventional nodes (2 segments). Look closely and notice that the solid and dotted handles of the green node are not parallel. The solid handle is not tangent to the segment that one assumes it controls; the dotted handle is. I understand; this is intended to be a new and innovative interface. But is it intuitive?

Tracing over it, try to draw it in Affinity (or most any other mainstream drawing program) by placing three nodes and their curve handles as indicated above, and you get this (blue path):


The stated use-case is ensuring curve smoothness when drawing font glyphs. That's all good and noble, but the auto-constraints advantageous in that context are not necessarily also desirable in general illustration. It seems to me that a more general implementation of this would need the auto behaviors to be momentarily switchable while in the process of drawing a path; not always active. How cleanly that could be implemented without increasing overall UI complexity and confusion is yet to be seen.

Consider, for example, Inkscape's Spiro Mode feature. It, too, was designed to 'ensure smooth [circular] curves' as you draw with it. You put the Pen Tool into a distinct 'mode' to use it:


As you use it, the interface makes it look like this path has two nodes. But clearly, that shape cannot be drawn with a single cubic Bezier curve (one segment). DoubleClick it while still in Spiro Mode and you see this:


Now we see what looks like 5 nodes. But look at their direction handles. This isn't very intuitive either, is it? The user has no idea where those nodes are actually being created while drawing the original two nodes. Convert it to a regular path, and you get this:


Now we see that it's 17 conventional Bezier curves (segments). Not anything particularly elegant and supple to work with if I need to modify it.

Again, I'm not dismissing it, and yes, I understand it's a work-in-progress. But just based on what I can discern from the demo as-is, I don't see anything particularly ground-breaking here. Dinking around with its Pen tool, though, hindrances are imposed on moves that I commonly make for purpose. In general, I don't like features that try to 'read my mind' in anticipation of my intention; they tend to get it wrong more often than right. It's kind of like auto-tracing in that regard. It's an algorithm placing the actual nodes, not me.

But wait! Isn't it an algorithm that's plotting the curves that I specify by placing nodes in the conventional Bezier interface? Yes, but consider:

Someone uses this interface in designing font glyphs (it's stated target). Using the resulting font, I set some type in any mainstream Bezier-based drawing program, and then convert it to paths, intending to modify the outlines for a logotype. Whatever is going on 'behind the curtain' of this interface, the curves have to be interpreted to curves possible in my drawing program. If you've ever done that with TrueType fonts (which use quadratic Beziers) instead of Type 1 fonts (which use cubic Beziers just like your drawing program), then you know what kind of a mess I'm talking about; far more segments than one should have to deal with for elegant and tidy curve modifications. My guess is, this would be worse.

FontLab expended serious effort toward Bezier interface innovation prior to release of its current version. It probably has the highest stake in the stated context. But the type designer using it is still looking at the nodes, handles, and curves that I'm going to get when I set some type and convert it to paths. I consider that a necessity.


Link to post
Share on other sites
On 12/29/2020 at 7:58 AM, chessboard said:

This is what I thought Smart-Points would/should do.

Strong agree. I still don't really understand what the existing smart curve feature is supposed to do, but this feels like what I always expected.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

Please note there is currently a delay in replying to some post. See pinned thread in the Questions forum. These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.