You must have changed some things in the last few days. Node sculpting works much better!
- Displacement as a function of linear distance from dragged node.
Added yesterday. So far it's a hidden preference that you can enable, we just need to decide where to put the UI for it (controls bar or prefs dialog?)
Excellent... on the control bar as I could imagine switching back and forth often. Question becomes, what would be a good icon?
- Displacement as a function of perpendicular distance from a line
through the dragged node and parallel to the direction of the drag.
Interesting, yes, can be added too.
Great! I could also see a control bar icon here.
- Displacement as a function of closest distance along path for closed
paths. This would avoid a discontinuity in the displacement between the first and last points of a closed path.
It already works this way. More precisely, there are two modes of measuring distance: linear and spatial. Linear mode measures distances along the path; it is used when all selected nodes are on the same subpath (i.e. are connected). In that mode there should be no discontinuities ever. Spatial mode measures distance directly along a straight line to the node, and it is used when selection is on more than one subpath. In that mode, unfortunately, there may be discontinuities - though I have an idea of how to minimize them (this needs more research). Apart from the possible discontinuities, the two modes look and feel very similar to the user, so I don't think we need to tell the user anything about them. They should "just work" as you expect them to.
I see. I realized that what was actually occurring was a discontinuity due an open sub-path (with the end nodes on top of each other, hiding the opening, due to the bug listed below). The distance along the path from the dragged node to each end was different so the end nodes moved by different amounts. With the latest SVN, things works as you describe above and this problem has disappeared.
- Displacement proportional to 1 - x^2/x'^2, where x is the
perpendicular distance from the dragged node and x' the perpendicular distance of the end selected nodes. This would allow "wrapping" an object around a can given #2 is implemented. (OK, this is really a parabolic displacement and one should also move points in the perpendicular direction to wrap an object around a can, but this would be a good enough approximation in many cases.)
I'm not sure I understand this, can you draw an illustration?
See the attached illustration of attempting to put text on a can. The 'd' is clearly orientated wrong. The lower black line shows the curve obtained with node sculpting. The upper black line shows the curve that would be obtained with the displacement option requested above. It is a better approximation to the displacement needed to simulate an object wrapped around a can.
- Choosing the reference points (other than the selected end nodes)
where the displacement is zero.
I think the UI for that would be too cumbersome for the user. We just need to make it work automagically in most if not all cases :)
You are probably right.
Trying to sculpt text exposes two problems. The first is that the Object->Path function creates two overlapping end points for each closed path. I think that these two points should be merged. The second is that "Add Nodes" creates two extra overlapping nodes at the beginning/end of a close path.
Can you please submit bug reports (with examples) for that?
The first problem appears to occur only when text is converted to a path. I will file bug reports.
Tav