Warp tool specification

From GIMP GUI Redesign
Revision as of 15:09, 31 August 2011 by Guiguru (talk) (some research material)
Jump to: navigation, search

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.

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 options.

These are:

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

this shall be represented as such:


Mode menu.png

Users 1: select a mode, and 2: toggle between the 2 options for that mode using the icon buttons.

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.

keyboard shortcuts