deleting node changes neighboring node type

Bug #1250997 reported by mray
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
New
Wishlist
Unassigned

Bug Description

When deleting a node the neighboring nodes change the node type in some cases.

My guess is that this is a simple measurement to keep the overall shape more or less unharmed.
Yet, I consider this a bug since changing the actual shape isn't only inevitable, it is desired.
The change of node types on the other hand isn't.

So in order to align to the initial intention I suggest the following:
* limit the attempt to "rescue" the original shape to situations where node types are guaranteed not to be changed.
* an override option of the limitation via shortcut

Probably related to https://bugs.launchpad.net/inkscape/+bug/257771

Tags: node-editing
Revision history for this message
mray (mrayyyy) wrote :
Revision history for this message
su_v (suv-lp) wrote :

Pressing the modifier 'Ctrl' while deleting selected node(s) is not working for you?

Robert Martinez wrote:
> The change of node types on the other hand isn't.

The provided screenshot (before/after) does not show a change of node type (all cusp nodes before and after). AFAIU you are asking for a feature to preserve the state (length, angle) of the _handles_ of the adjacent nodes (cusp nodes can have extracted or fully retracted handles). This feature already exists (press 'Ctrl' while deleting the selected node(s)).

The feature to preserve the shape by default is intentional and not a bug, and a modifier to preserve the state of the node handles already exists. The default mode can even be switched in the preferences:
Preferences > Tools > Node > Editing preferences: [ ] Deleting nodes preserves shape)

Changed in inkscape:
status: New → Incomplete
Revision history for this message
su_v (suv-lp) wrote :

> Pressing the modifier 'Ctrl' while deleting selected node(s) is not working for you?

This refers to deleting with 'Del' or 'Backspace' key, not the button on the toolbar.

Revision history for this message
mray (mrayyyy) wrote :

Thanks for correcting me! I was indeed talking about the state of the _handles_.
Also thanks for pointing out the option in the preferences - I wasn't aware of that.
And you're right; when deleting with 'Del' / 'Backspace' I actually get the desired results!
But I'm used to delete nodes with a 'ctrl+alt+click' which *always* preserves the shape!
I tried with/without the option (also restarted Inkscape).
Seems like there is something buggy after all?

(using Inkscape from standard Ubuntu 13.10 repos: "Inkscape 0.48.4 r9939" )

Revision history for this message
mray (mrayyyy) wrote :

> Pressing the modifier 'Ctrl' while deleting selected node(s) is not working for you?

it does, and after changing the option "Preferences > Tools > Node > Editing preferences: [ ] Deleting nodes preserves shape" its behaviour inverts. But the ctrl+alt+click behaviour isn't changed.

Revision history for this message
su_v (suv-lp) wrote :

The preference setting only applies to the keyboard shortcuts to delete nodes (<Del>, <Backspace>) - i.e. those two shortcuts which allow to temporarily switch deletion mode by pressing 'Ctrl' - but not to the mouse shortcut, nor to the button ('-') on the tool controls bar.

Quoting from the release notes of Inkscape 0.44 ('preserve shape' was introduced as new behavior):
«New deletion behavior
    In Node tool, deleting node(s) by Del/Backspace keys or by Ctrl+Alt+clicking a node now tries to preserve, as much as possible, the current shape of the path. This means that the nodes adjacent to those being deleted have their handles adjusted to approximate the form that the path had before deletion. For example, if you Ctrl+Alt+click a path twice, once to add a new node and then to delete it, the path will not change at all (or change very slightly). The old deletion behavior without adjusting handles is still available via Ctrl+Del or Ctrl+Backspace. »
<http://wiki.inkscape.org/wiki/index.php/Release_notes/0.44#New_deletion_behavior>

Quoting from the manual:
« (Backspace, Delete, or Ctrl+Alt+Left Mouse Click): Delete selected nodes. Inkscape will attempt to preserve the shape of the path when nodes are removed by adjusting the handles of adjacent nodes. If you wish to remove a node and not change the handles of adjacent nodes use Ctrl+Backspace or Ctrl+Delete. »
<http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Paths-Editing.html#Paths-Node-ToolControls>

Discussion on the developers mailing list which -among other things- resulted in adding the preference setting to switch default modes for Del/Backspace (in Inkscape 0.48):
<http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/32931>

Commit implementing the toggle mode only for keyboard shortcuts 'Del'/'Backspace':
<http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/9130>

Revision history for this message
mray (mrayyyy) wrote :

Thanks for the insight!

So from all the given Information and the following behavior everything seems to run as expected.
Still, I think it is not consistent enough:

If there are multiple ways to delete nodes (buttons, shortcuts, ..) and a toggle to control the behavior the following presumption should be made: the toggle affects all ways to delete nodes, thus toggling them.

It seems that my way of doing is using the toggle itself, and therefore toggling is broken for me!
I really don't like moving my hand completely over to the other side of the keyboard *every time* I need to delete nodes.
Deleting nodes with ctrl+shift+click is just awesome if you need to do it often.

My suggestion to solve both issues would be a new shortcut similar to the current one so we have:
ctrl+shift+click = delete node
ctrl+alt+click = delete nodes preserving shape

su_v (suv-lp)
Changed in inkscape:
importance: Undecided → Wishlist
status: Incomplete → New
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.