Difference between revisions of "Brush Creation and Edit Instances"

From GIMP GUI Redesign
Jump to: navigation, search
(Proposal Two Levels Simplified)
Line 46: Line 46:
 
* In each message box of [2] option, when we have mouseover, we need to write or repeat the kind of brush that will be created, for instance: to parametric kind, 'New Parametric Brush...'. This option opens the Parametric Brush Editor.
 
* In each message box of [2] option, when we have mouseover, we need to write or repeat the kind of brush that will be created, for instance: to parametric kind, 'New Parametric Brush...'. This option opens the Parametric Brush Editor.
  
===Brush Editor | To Create/Edit Brushes (Raster (gbr and gih) or Parametric)===
+
==Brush Editor | To Create/Edit Brushes (Raster (.gbr and .gih) or Parametric)==
* I'd just drop the mkbrush script, see vid. The brush editor has loads of room for extra buttons (Mark Sweeney).
+
===Current Status===
** Ok, this is a way more linear to solve the issue... I ask if is hard to integrate the Brush Editor, which now is only linked with .vbr: is possible to integrate with a script such as mkbrush.scm and have the options to make the .gbr?
+
The current Brush Editor is usable only to create and modify the .vbr brushes (parametric).
** I think that for the animated brushes, we need another interface and a script completely different because we have the matrix with 4 dimensions and many behaviours for them. In this sense, I prefer to talk about another issue that, some time ago, Jehan created. [https://gitlab.gnome.org/GNOME/gimp/-/issues/2781]
+
The idea is to make it usable to create also raster brushes (.gbr and a simple .gih brush with a unique dimension).
  
|<|Contextual Menu
+
===Improvements and New Features===
  \_Brushes Menu  >
+
# The Shape selector must have a button to load a seed stain for irregular shapes or informal stains. Already we can create the simple .gbr brushes with simple shapes, e.g., circle, square or diamond the current buttons could be used to link with specific scripts as such we already exist or these procedures be improved with a different code. When we are creating the animated brushes, we can have an aid filter to create the variations in these stains to complete the array of the .gih brushes. In this way, it could be simplified the load the stains in different layers of the .gih brush.
                  \_Edit Brush [1]
+
# A selector to have RGB or Grayscale Brushes. IMO is very useful to have both types for raster and parametric brushes.
                  \_New Brush
+
# Selector of Kind Brush: Parametric or Raster
                  \_Duplicate Brush
+
## If Parametric we have the current features already existent.
                  \_Copy Brush Location
+
## If Raster we need to decide if is a .gbr or .gih brush. For them we have made choices around the stains, regular or irregular. In these cases, we have different procedures:
                  \_Show in File Manager
+
## If it is a .gbr raster, the condition is more simple and the final brush has the shape stain chosen by the user. After we have the instance to control Size, Spikes(?!), Opacity(?!), Hardness, Aspect ratio, Angle and Spacing to finalize the brush creation with a 'Save Brush'.
                  \_Delete Brush
+
### If it is a .gih raster, we have different choices for the unique dimension of the brush: how many variations we want (Cells = Layers) and which parameter we will use for these variations (angular, incremental, pressure, velocity or random). Another important simplification is to have an aid app to create variations of the seed stain to load each Cell = Layer. IMO, I think using Morphing, Hardness/Opacity variations. When we have a morphing effect we need two stains to make an efficient variation for painting brushes. The general idea is to have a fast way to create .gih brushes for painting tasks without complex interactions with the array matrix of the .gih. The scope of these brushes is similar to the current Acrylics series, for instance. To elaborate and complex brushes, we think that the current method using the array is yet useful... or we need also to think of a plugin to solve, in short, some arrays of .gih brushes.
                  ---
+
#### 3b3. After making the choices of .gih brush we proceed to creation of brush.
                  Reload Brushes
 
  
* In the above menu example, 'New Brush' would bring up a dialog, where the user would then select the brush type to create (Mark Sweeney).
+
<h4>Size Brush</h4>
** Ok, I have thought also in this possibility but is another level where opens a script to make other options.
+
For the raster brushes normally we have two size dimensions, length and width. On the Parametric Brush Editor, we have a radius, I propose to use the diameter (in this way we have the same method to build raster and parametric brushes). For instance, if you need a parametric brush of 100 pixels we need to create a brush with 50 pixels radius on the current editor.
** I have thought that was better have single scripts to make single things... what do you think?
+
 
** But, if is true the possibility to create the .gbr brushes via Brush Editor... this issue could not have importance...
+
<h4>Current features of Brush Editor applied for the raster brushes</h4>
** For the Animated brush I think that is necessary another script more focused to create the 'infrastructure' , (e.g., the quantity of layers for an specific array) and after we continues using the current option to create de matrix of the animated brushes.
+
The controls of Hardness, Aspect ratio, Angle and Spacing are usable completely to create raster stains with similar characteristics of .vbr brushes.
 +
Spikes - are usable also to create different geometric shapes of the regular circle, square and diamond raster brushes.
 +
Opacity - I am not sure if is useful to have an 'Opacity control' for the raster stains... the hardness has a similar or an approximated effect but works as a border feathering.
 +
 
 +
<h3>Preview of brushes</h3>
 +
The current preview is focused on the .vbr parameter. To have a universal preview for all brushes, parametric or raster, we need to implement a preview based on the Path with 'Paint Along Path' (dynamics On or Off). Each time that we do a change in the editor the path is loaded with the new instance of values present on the Brush Editor. For the condition of static shape, with a raster brush, we need to see if is sufficient the feature of Edit/Stroke Selection ('Paint along the selection outline'). For instance, using a small circular shape selection is possible to have almost the effect of the dab... is an approximated effect.
  
 
==Fields to Author, License and Comments==
 
==Fields to Author, License and Comments==

Revision as of 21:10, 10 March 2024

Current Edit and Creation Instances of Raster and Parametric Brushes

On GIMP the brushes parametric and raster are shown together, in the same list on Brushes Dialog. This causes some issues when a user tries to edit a brush:

  1. If is parametric the brush opens correctly the parametric brush editor;
  2. If is raster the brush is opened also on the parametric brush editor (evidently, isn't possible to edit the raster here).
  3. Bug 994 - Improvements on brush creation and their filtering (tags) | Proposal (edit)

Is curious to note that the contextual is the same for the two kinds but it recognizes when is a parametric brush... the 'Open Brush as image...' is disabled.

Simplifying the flow to create/edit raster brushes directly on the dialogue lists

Ideally is fine to have a unique dialog list to show parametric (.vbr) and (.gbr, .gih) brushes... is necessary to correct any kind the way to edit them.

The menu of these assets in my opinion must be modified in this way:

  1. Divide the brush assets by category (raster and parametric). Would be interesting to have a default tag embedded and independent of user choices.
  2. Each brush asset category enables the editing kind, for instance, raster or parametric brushes have a dedicated way (conditional option) to open this asset as an image or as a vector, respectively.

Proposal Two Levels Simplified

It was needled the Parametric Brush and Raster Brush to classify the kinds of them: Parametric and Raster Brush (shaped versions).

|<|Contextual Menu of the [Brushes Menu]

Second Level opening [Brushes Menu]

|<|Contextual Menu
  \_Brushes Menu  >
                  Edit Brush               [1]
                  New Brush         >
                  ---
                  Duplicate Brush
                  Copy Brush Location
                  Show in File Manager
                  Delete Brush
                  ---
                  Refresh Brushes 
|<|Contextual Menu  (Opening 'New Brush' menu)
  \_Brushes Menu  >
                  New Brush         >
                  \_Parametric...          [2]
                  \_Raster Brush    >
                    Elliptic...
                    Elliptic feathery...
                    Rectangular...
                    Rectangular feathery...
Messages and Scripts
  • [1] A conditional option: if is parametric send it to Parametric Editor, if is raster open the archive as an image.
  • In each message box of [2] option, when we have mouseover, we need to write or repeat the kind of brush that will be created, for instance: to parametric kind, 'New Parametric Brush...'. This option opens the Parametric Brush Editor.

Brush Editor | To Create/Edit Brushes (Raster (.gbr and .gih) or Parametric)

Current Status

The current Brush Editor is usable only to create and modify the .vbr brushes (parametric). The idea is to make it usable to create also raster brushes (.gbr and a simple .gih brush with a unique dimension).

Improvements and New Features

  1. The Shape selector must have a button to load a seed stain for irregular shapes or informal stains. Already we can create the simple .gbr brushes with simple shapes, e.g., circle, square or diamond the current buttons could be used to link with specific scripts as such we already exist or these procedures be improved with a different code. When we are creating the animated brushes, we can have an aid filter to create the variations in these stains to complete the array of the .gih brushes. In this way, it could be simplified the load the stains in different layers of the .gih brush.
  2. A selector to have RGB or Grayscale Brushes. IMO is very useful to have both types for raster and parametric brushes.
  3. Selector of Kind Brush: Parametric or Raster
    1. If Parametric we have the current features already existent.
    2. If Raster we need to decide if is a .gbr or .gih brush. For them we have made choices around the stains, regular or irregular. In these cases, we have different procedures:
    3. If it is a .gbr raster, the condition is more simple and the final brush has the shape stain chosen by the user. After we have the instance to control Size, Spikes(?!), Opacity(?!), Hardness, Aspect ratio, Angle and Spacing to finalize the brush creation with a 'Save Brush'.
      1. If it is a .gih raster, we have different choices for the unique dimension of the brush: how many variations we want (Cells = Layers) and which parameter we will use for these variations (angular, incremental, pressure, velocity or random). Another important simplification is to have an aid app to create variations of the seed stain to load each Cell = Layer. IMO, I think using Morphing, Hardness/Opacity variations. When we have a morphing effect we need two stains to make an efficient variation for painting brushes. The general idea is to have a fast way to create .gih brushes for painting tasks without complex interactions with the array matrix of the .gih. The scope of these brushes is similar to the current Acrylics series, for instance. To elaborate and complex brushes, we think that the current method using the array is yet useful... or we need also to think of a plugin to solve, in short, some arrays of .gih brushes.
        1. 3b3. After making the choices of .gih brush we proceed to creation of brush.

Size Brush

For the raster brushes normally we have two size dimensions, length and width. On the Parametric Brush Editor, we have a radius, I propose to use the diameter (in this way we have the same method to build raster and parametric brushes). For instance, if you need a parametric brush of 100 pixels we need to create a brush with 50 pixels radius on the current editor.

Current features of Brush Editor applied for the raster brushes

The controls of Hardness, Aspect ratio, Angle and Spacing are usable completely to create raster stains with similar characteristics of .vbr brushes. Spikes - are usable also to create different geometric shapes of the regular circle, square and diamond raster brushes. Opacity - I am not sure if is useful to have an 'Opacity control' for the raster stains... the hardness has a similar or an approximated effect but works as a border feathering.

Preview of brushes

The current preview is focused on the .vbr parameter. To have a universal preview for all brushes, parametric or raster, we need to implement a preview based on the Path with 'Paint Along Path' (dynamics On or Off). Each time that we do a change in the editor the path is loaded with the new instance of values present on the Brush Editor. For the condition of static shape, with a raster brush, we need to see if is sufficient the feature of Edit/Stroke Selection ('Paint along the selection outline'). For instance, using a small circular shape selection is possible to have almost the effect of the dab... is an approximated effect.

Fields to Author, License and Comments

In the dialogues to build brushes on GIMP is interesting to have three new fields:

  1. Author Name
  2. License
  3. Comments

Tag Field

Many brushes could be organized by the designer in origin. When a brush is created the author could organize the tags that each brush has by default. This feature is a great way to customize the author's sets and a facility to use the sets on GIMP.