unsatisfactory implementation of spiros

Bug #331038 reported by Marcus
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Confirmed
Wishlist
Unassigned

Bug Description

I've played around a bit with spiros in inkscape and I think it would be very nice if spiros would be implemented in inkscape exactly as in fontforge. The way it is it is rather a gimmick than a really useful tool.

Revision history for this message
bbyak (buliabyak) wrote :

This is not a helpful report. Please be more specific in what exactly you propose to change.

Revision history for this message
Marcus (marcus-strube) wrote :

Generally, the two biggest problems with spiros right now are:

If you add a node between two nodes, you don't get a node on the "line" between the two nodes you are inserting between, but somewhere. (Which changes like everything.)

Having a path, you can't switch between a spiro and a bezier view. (Deleting the spiro effect changes everything you did and, while you just temporarily want what you get with Ctrl+Shift+C)

(And having a node selected it's not possible to select the next or previous node with the keyboard and then to insert a node with the keyboard.)

Revision history for this message
Pablo Trabajos (pajarico) wrote :

About the first problem: and what do you propose as a better behaviour? that nodes are added on the place of the spiro path where the user double-clicks?

About the second:
> Having a path, you can't switch between a spiro and a bezier view.
I don't understand this sentence. You can enable/disable the spiro effects and see/revert too the original bezier path at any moment.

Changed in inkscape:
importance: Undecided → Wishlist
tags: added: node-editing
Revision history for this message
Jerzy Jalocha N (jjalocha) wrote :

I agree with Marcus, that the implementation of spiros in Inkscape has some serious shortcomings, but I don't think, that everything should be copied from FontForge. Here are my thoughts about it.

 * Inserting New Nodes *
The first problem mentioned above, about inserting a new point on an existing segment. Right now, you can select two adjacent points and use the 'insert new nodes into selected segments' tool (INS key), which distorts the shape of the resulting spiro curve. According to Raph Levien's PhD thesis, extensionality was one of the explicit design goals of his spiro curves. Thus I would expect the INS tool to create a new node about halfway between the selected nodes, on the original spiro curve, and such that it doesn't change the shape of the resulting curve. (Just as with the normal Bézier curves.)
As a bonus, it would be nice if you could double-click anywhere on a segment, and a new (non-distorting) point would be added right there. (Just as with the normal Bézier curves.)

 * G2 and G4 Nodes *
In the current implementation, I am unable to find a way to select or switch between G2 and G4 node types. I am not sure if only one type is implemented, or if the switch is hidden somewhere I can't find. It would be important to implement both node types so that they are easily accessible, and easy to distinguish visually.

 * Straight-to-Curved Transition *
FontForge implements two particular node types for smooth transitions from straight segments to curved segments. Inkscape uses the 'make selected nodes smooth' tool (Shift+S) instead, which in my opinion is easier to use, and is implemented analogous to its Bézier curves.

 * Angle Constraints *
One feature that I miss both in FontForge and in Inkscape, are angle constraints for end and corner points. I would probably expect a handle, similar to Bézier curves, but of fixed length. (And CTRL key constrained angle increments.)

Changed in inkscape:
status: New → Confirmed
summary: - implementation of spiros
+ unsatisfactory implementation of spiros
tags: added: livepatheffects
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.