Difference between revisions of "GSoC2009 Node Tool Rewrite"
Jump to navigation
Jump to search
(Add page) |
(Flesh out) |
||
Line 9: | Line 9: | ||
!New tool | !New tool | ||
|- | |- | ||
!colspan="4"|Selection | !colspan="4" style="font-size:150%"|Selection | ||
|- | |- | ||
|Object selection | |Object selection | ||
|Selecting objects to node-edit (incl. Shift-click, Alt-click) | |Selecting objects to node-edit (incl. Shift-click, Alt-click); ignores groups | ||
|{{yes}} | |{{yes}} | ||
|- | |- | ||
Line 51: | Line 51: | ||
|{{no}} | |{{no}} | ||
|- | |- | ||
!colspan="4"|Transforms | !colspan="4" style="font-size:150%"|Transforms | ||
|- | |- | ||
|Move | |Move | ||
Line 87: | Line 87: | ||
|Flip nodes | |Flip nodes | ||
|v for vertical flip, h for horizontal | |v for vertical flip, h for horizontal | ||
|{{yes | |{{yes}} | ||
|- | |- | ||
|Movement restriction | |Movement restriction | ||
Line 97: | Line 97: | ||
|{{yes}} | |{{yes}} | ||
|- | |- | ||
!colspan="4"|Handles | |Affect handles | ||
|Ability to specify whether handles should be transformed (toggle button) | |||
|{{no}} | |||
|- | |||
!colspan="4" style="font-size:150%"|Node actions | |||
|- | |||
|Add nodes | |||
|Double-click on path segment to add node | |||
|{{yes}} | |||
|- | |||
|Delete nodes | |||
|Del to remove nodes while trying to preserve shape | |||
|{{yes}} | |||
|- | |||
|Join nodes | |||
|Fuse two nodes into one | |||
|{{yes}} | |||
|- | |||
|Multi-path node join | |||
|Joining nodes in different paths works sensibly | |||
|{{no}} | |||
|- | |||
|Join segment | |||
|Joining two nodes with a segment works correctly | |||
|{{yes}} | |||
|- | |||
|Multi-path segment join | |||
|Join between subpaths in different paths works | |||
|{{no}} | |||
|- | |||
|Delete segment | |||
|Removing a path segment between two nodes | |||
|{{yes}} | |||
|- | |||
|Align nodes | |||
|Alignment actions in Align and Distribute dialog | |||
|{{yes}} | |||
|- | |||
|Snap nodes | |||
|Nodes snap according to snap settings when transformed | |||
|{{yes}} | |||
|- | |||
!colspan="4" style="font-size:150%"|Display | |||
|- | |||
|Unselected path outline | |||
|Outline promptly flashes when hovering over a unselected path | |||
|{{yes}} | |||
|- | |||
|Selected path outline | |||
|Outline of the selected path is drawn | |||
|{{yes}} | |||
|- | |||
!colspan="4" style="font-size:150%"|Handles | |||
|- | |||
|Handle display | |||
|Handles are displayed on the selected nodes and their neighbors | |||
|{{yes}} | |||
|- | |||
|Flip handles | |||
|v for vertical flip, h for horizontal | |||
|{{yes}} | |||
|- | |||
|Lock handle length | |||
|Alt to move handles while preserving length | |||
|{{yes}} | |||
|- | |- | ||
|Move along handles | |Move along handles | ||
|Ctrl+Alt to restrict node movement to the handle lines | |Ctrl+Alt to restrict node movement to the handle lines | ||
| | |??? | ||
|- | |- | ||
|Drag out handles | |Drag out handles | ||
|Shift + mouse drag to drag out a handle that coincides with a node | |Shift + mouse drag to drag out a handle that coincides with a node | ||
|{{yes}} | |||
|- | |||
|Snap handles | |||
|Handles can be snapped to other snap targets | |||
|{{no}} | |||
|- | |||
|Copy / paste handles | |||
|Ability to copy and paste handles between nodes | |||
|{{no}} | |||
|- | |||
|Copy / paste subpaths | |||
|Ability to add a subpath by pasting it into the selected path | |||
|{{no}} | |||
|- | |||
!colspan="4" style="font-size:150%"|Extras | |||
|- | |||
|Clip / mask editing | |||
|Buttons to edit the clipping and masking paths in place | |||
|{{yes}} | |||
|- | |||
|Path effect param editing | |||
|Button to to edit the next path parameter of the selected live path effect | |||
|{{yes}} | |{{yes}} | ||
|} | |} | ||
[http://inkscape.org/doc/keys046.html#id2248621 Inkscape key guide for the node tool] - more detailed description of the old node tool's features | [http://inkscape.org/doc/keys046.html#id2248621 Inkscape key guide for the node tool] - more detailed description of the old node tool's features |
Revision as of 12:01, 21 May 2009
This page tracks the progress of the node tool rewrite project which is a part of the Google Summer of Code 2009. This project is being implemented by Krzysztof Kosiński, and the mentor is Bulia Byak. This page will be kept updated with the current status of the student's code (it may not reflect the code in the trunk).
Feature Checklist
Feature | Description | Old tool | New tool |
---|---|---|---|
Selection | |||
Object selection | Selecting objects to node-edit (incl. Shift-click, Alt-click); ignores groups | Yes | |
Selecting single nodes | Whether selecting single nodes with left-click works correctly. | Yes | |
Select segment | Click on a path segment to select adjacent nodes | Yes | |
Selecting multiple nodes | Shift-click to toggle selection of a node | Yes | |
Select all | Ctrl+A selects all nodes in subpaths that have something selected, Ctrl+Alt+A selects all nodes | Yes | |
Deselect | Esc or click outside of selected paths to deselect | Yes | |
Multi-path selection | Selecting nodes in two or more different paths | No | |
Prev/Next node | Tab to select next node, Shift+Tab to select previous | Yes | |
Invert Selection | ! key inverts node selection in selected subpaths, Alt+! in the whole path | Yes | |
Nodeset selection cue | Whether a selection cue with transform handles can be toggled for sets of nodes (needs sensible behavior when one node is selected) | No | |
Transforms | |||
Move | Moving selections of nodes | Yes | |
Move with keyboard | arrows, Shift+arrows, Alt+arrows, Shift+Alt+arrows | Yes | |
Scale with mouse | Scaling node sets with the mouse (needs selection cue) | No | |
Scale with keyboard | Both Ctrl and Alt keys + >, < | Yes | |
Rotate with mouse | Rotating node sets with the mouse | No | |
Rotate with keyboard | Both Ctrl and Alt keys and [, ] | Yes | |
Skew with mouse | Skewing node sets with the mouse | No | |
Skew with keyboard | No | ||
Flip nodes | v for vertical flip, h for horizontal | Yes | |
Movement restriction | Ctrl to restrict movement to axes | Yes | |
Sculpting | Alt to move selected nodes depending on their distance from the cursor | Yes | |
Affect handles | Ability to specify whether handles should be transformed (toggle button) | No | |
Node actions | |||
Add nodes | Double-click on path segment to add node | Yes | |
Delete nodes | Del to remove nodes while trying to preserve shape | Yes | |
Join nodes | Fuse two nodes into one | Yes | |
Multi-path node join | Joining nodes in different paths works sensibly | No | |
Join segment | Joining two nodes with a segment works correctly | Yes | |
Multi-path segment join | Join between subpaths in different paths works | No | |
Delete segment | Removing a path segment between two nodes | Yes | |
Align nodes | Alignment actions in Align and Distribute dialog | Yes | |
Snap nodes | Nodes snap according to snap settings when transformed | Yes | |
Display | |||
Unselected path outline | Outline promptly flashes when hovering over a unselected path | Yes | |
Selected path outline | Outline of the selected path is drawn | Yes | |
Handles | |||
Handle display | Handles are displayed on the selected nodes and their neighbors | Yes | |
Flip handles | v for vertical flip, h for horizontal | Yes | |
Lock handle length | Alt to move handles while preserving length | Yes | |
Move along handles | Ctrl+Alt to restrict node movement to the handle lines | ??? | |
Drag out handles | Shift + mouse drag to drag out a handle that coincides with a node | Yes | |
Snap handles | Handles can be snapped to other snap targets | No | |
Copy / paste handles | Ability to copy and paste handles between nodes | No | |
Copy / paste subpaths | Ability to add a subpath by pasting it into the selected path | No | |
Extras | |||
Clip / mask editing | Buttons to edit the clipping and masking paths in place | Yes | |
Path effect param editing | Button to to edit the next path parameter of the selected live path effect | Yes |
Inkscape key guide for the node tool - more detailed description of the old node tool's features