Difference between revisions of "Warp tool specification"

From GIMP GUI Redesign
Jump to: navigation, search
(some research material)
Line 37: Line 37:
 
=== tool modes===
 
=== tool modes===
  
The warp tool shall have 4 main modes, which each (apart from move) have two options.
+
The warp tool shall have 4 main modes, which each (apart from move) have two sub-modes. The resize and swirl modes have logical, opposite sub-modes. The existence of the 'correct' mode grouping of remove and smooth is tied to highly efficient shortcuts behaviour.
  
These are:
+
The modes and their subs are:
  
 
*move
 
*move
Line 48: Line 48:
 
this shall be represented as such:
 
this shall be represented as such:
  
 +
[[Image:Mode_menu.png]]
 +
 +
The seven buttons with icon labels form one group with radio (always one and only one engaged) behaviour.
 +
 +
==== mode shortcuts ====
  
[[Image:Mode_menu.png]]
+
For direct selection of the seven modes, the number keys shall be used:
 +
 
 +
* move : 1
 +
* resize: increase : 2
 +
* resize: reduce : 3
 +
* swirl: cw : 4
 +
* swirl: ccw : 5
 +
* correct: remove : 6
 +
* correct: smooth : 7
 +
 
 +
Holding the shift key shall temporarily toggle the sub-mode within the currently selected mode (row): increase <-> reduce; cw <-> ccw; remove <-> smooth. Yes, it does nothing when thee mode is move.
 +
 
 +
Holding the control key shall temporarily engage remove mode, no matter what the current mode is (yes even remove itself). Holding the shift + control keys shall temporarily engage smooth mode, no matter what the current mode is.
  
Users 1: select a mode, and 2: toggle between the 2 options for that mode using the icon buttons.
+
The shift and/or control shortcuts show how the 'correct' mode grouping pays off.
  
 
=== tool options===  
 
=== tool options===  
Line 83: Line 100:
 
*Marked on the pressure range are: min and max pressure. Also marked are the pressure values where the warp radius will begin and cease to be apparent.
 
*Marked on the pressure range are: min and max pressure. Also marked are the pressure values where the warp radius will begin and cease to be apparent.
  
=== keyboard shortcuts===
+
==== parameter shortcuts ====

Revision as of 15:59, 31 August 2011

intro

This is the specification for the warp tool. As a GoC project it is being ported to the toolbox. This specification is the result of student class work of the 2011 interaction design for the real world class at the FH Vorarlberg, Austria, followed by a 3-day design sprint at m+mi works.

Most of the UI design work looks trivial, but there are a couple of challenges: 7 different tool modes, integrating pressure dynamics, assigning shortcuts and most of all, supporting efficient and creative working.

some research material

As a result of this project, the plain number keys (0–9) of the keyboard are from now on reserved for shortcut use by each toolbox tool individually. This has been agreed upon by the UI team and maintainer (mitch). The UI team sees the primary use of these number keys as mode switches within the tool, as demonstrated below. Further possible use includes an amalgamated paint tool, having 5 completely different paint setups at users' fingertips.

warp strength (was amount) is a value 1–100. abstract for every mode, but thought to be equivalent across the modes.

radius is 1–1000.

warp image calculation is 'instant' after every stroke, no preview, no final render.

pressure input: before the pressure events reach GIMP, there is an undefined amount of processing of them by the tablet driver and the operating system. Once they enter GIMP they go through a conversion (including a curve) set up by the devices configuration dialog. This setup is global for all tools. Technically, the pressure is a floating point value going from 0–1.

interesting rows of the shortcut dump:

  • < Decrease Value 1
  • > Increase Value 1
  • Ctrl+< Decrease Value 1 More
  • Ctrl+> Increase Value 1 More
  • [ Decrease Value 2
  • ] Increase Value 2
  • Shift+[ Decrease Value 2 More
  • Shift+] Increase Value 2 More
  • W <not taken>

(value 1 & 2 are the first two 'value fields in the tool options, it seems)

checking out warp branch in git, for babl, gegl and gimp (in that order):

  • git checkout -t origin/soc-2011-warp
  • then you switch between master and it with 'git checkout master' and 'git checkout soc-2011-warp' and git pull in either to update that one

specification

tool modes

The warp tool shall have 4 main modes, which each (apart from move) have two sub-modes. The resize and swirl modes have logical, opposite sub-modes. The existence of the 'correct' mode grouping of remove and smooth is tied to highly efficient shortcuts behaviour.

The modes and their subs are:

  • move
  • resize: increase, reduce
  • swirl: cw, ccw
  • correct: remove, smooth

this shall be represented as such:

Mode menu.png

The seven buttons with icon labels form one group with radio (always one and only one engaged) behaviour.

mode shortcuts

For direct selection of the seven modes, the number keys shall be used:

  • move : 1
  • resize: increase : 2
  • resize: reduce : 3
  • swirl: cw : 4
  • swirl: ccw : 5
  • correct: remove : 6
  • correct: smooth : 7

Holding the shift key shall temporarily toggle the sub-mode within the currently selected mode (row): increase <-> reduce; cw <-> ccw; remove <-> smooth. Yes, it does nothing when thee mode is move.

Holding the control key shall temporarily engage remove mode, no matter what the current mode is (yes even remove itself). Holding the shift + control keys shall temporarily engage smooth mode, no matter what the current mode is.

The shift and/or control shortcuts show how the 'correct' mode grouping pays off.

tool options

We've boiled the tool options down to the simplest and most direct way.

Warp tool options.png

pressure setting for tablets

When a user is using a tablet + pen and requires settings to control output according to pressure on the tablet surface:

  • for radius
  • for strength
  • for both

these shall use the existing radius/strength settings as their basis.

In this way:

Warp pressure options.png

Pressure setting appear below radius/strength settings

When a check box is selected the corresponding control appears in situ.

Pressure settings consist of:

  • A representation of the existing radius or strength range. This is in proportion to the pressure range shown. The values of the current radius maximum - i.e. the radius setting above- are expressed.
  • The pressure range is expandable at both ends of the scale, until it reaches the maximum width available.
  • Marked on the pressure range are: min and max pressure. Also marked are the pressure values where the warp radius will begin and cease to be apparent.

parameter shortcuts