Difference between revisions of "Brush Creation and Edit Instances"

From GIMP GUI Redesign
Jump to: navigation, search
(Discussion with Mark Sweeney)
(|<|Contextual Menu of the [Brushes Menu])
Line 82: Line 82:
 
                   Create a Brush:...      [Divisor label]
 
                   Create a Brush:...      [Divisor label]
 
                   \_Parametric...          [2]
 
                   \_Parametric...          [2]
                   Raster Brush:...        [Divisor label]
+
                   Raster Brush:           [Divisor label]
 
                   Elliptic feathery...    [3]
 
                   Elliptic feathery...    [3]
 
                   Elliptic...              [3]
 
                   Elliptic...              [3]

Revision as of 20:07, 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.

1st Proposal to Contextual Menu to [Brushes Menu] (Two Levels)

Use the two levels in a way to organize the tasks between creation and interaction to edit, duplicate and delete them.

|<|Contextual Menu [Brushes Dock]

First Level

|<|Contextual Menu
   Brushes Edit Menu [1]    >
   Create a Brush:...       [label divisor]
   Parametric...            [2]
   Elliptic Feathery...     [3]
   Elliptical...            [3]
   Rectangular Feathery...  [3]
   Rectangular...           [3]
   Custom Brush...          [4]
   ---
   Add Tab                  >
   Close Tab
   Detach Tab
   Lock Tab to Dock
   ---
   ...

Second Level (opening Brushes Menu)

|<|Contextual Menu
  \_Brushes Menu [1]    >
                        \_Edit Brush [5]
                        ---
                        \_Duplicate Brush
                        \_Copy Brush Location
                        \_Show in File Manager
                        \_Delete Brush
                        ---
                        Refresh Brushes
Messages and Scripts
  • [1] The original name of the menu was 'Brushes Menu' to 'Brushes Edit Menu' to render clear the function of this menu.
  • In each message box of [2] and [3] options, when we have mouseover, we need to write or repeat the kind of brush that will be created, for instance:
    • [2] To parametric kind, "Create .vbr parametric brush."
    • [3] To raster kind, an example, instead in Elliptical, Feathered... "Create an elliptical brush with feathered edges" > "Create a .gbr raster elliptic brush with feathered edges. "
  • To dialogue of windows of the scripts, we need to identify the kind of brush that we are creating, raster or parametric.
  • [4] To Custom Brush, we need to create a new script to create custom raster brushes. IMO, this script must be capable of creating an empty .xcf archive with a feature to set the size layer, the layer number, if is grayscale or RGB, transparent or white background.
    The message of the 'mouseover' option could be: "Create a custom raster brush."
  • [5] a conditional option: if is parametric send it to Parametric Editor, if is raster open the archive as an image.
  • The ideal naming of the second-level options is to have the name of the asset in each voice, for instance:
    instead of having a simple '\_Edit Brush' to have \_Edit 'Brush Name #1'
    In this way, we can avoid making wrong choices.

2nd Proposal to Contextual [Brushes Menu] (One Level)

Use a unique level, in this case the 2nd level, to organize the tasks between creation and interaction to edit, duplicate and delete them.

|<|Contextual Menu of the [Brushes Menu]

At this level, after clicking on the |<| button, the menu will be slim with only the traditional features of the tabs. In this way, the workflow is more linear and the whole Creation/Edit is placed only on the 2nd level of the Contextual Menu when we click on 'Brushes Menu'.

First Level

|<|Contextual Menu   >
                     \_Add Tab >
                     \_Close Tab
                     \_Detach Tab
                     \_Lock Tab to Dock
                     ---
                     ...

Second Level opening [Brushes Menu]

|<|Contextual Menu
  \_Brushes Menu  >
                  \_Edit Brush [1]
                  Create a Brush:...       [Divisor label]
                  \_Parametric...          [2]
                  Raster Brush:            [Divisor label]
                  Elliptic feathery...     [3]
                  Elliptic...              [3]
                  Rectangular feathery...  [3]
                  Rectangular...           [3]
                  Custom Brush...          [4]			  
                  ---
                  \_Duplicate Brush
                  \_Copy Brush Location
                  \_Show in File Manager
                  \_Delete Brush
                  ---
                  Refresh Brushes
Messages and Scripts
  • [1] A conditional option: if is parametric send it to Parametric Editor, if is raster open the archive as an image.
  • The ideal naming of the second-level options is to have the name of the asset in each voice, for instance:
    • Instead of having a simple [_Edit Brush] have [_Edit 'Brush Name #1] In this way, we can avoid making wrong choices.
    • In each message box of [2] and [3] options, when we have mouseover, we need to write or repeat the kind of brush that will be created, for instance:
  • [2] To parametric kind, "Create .vbr parametric brush."
  • [3] To raster kind, an example, instead in Elliptical, Feathered... "Create an elliptical brush with feathered edges" > "Create a .gbr raster elliptical brush with feathered edges."
    • Also, I thought to simplify the terms Elliptical to Elliptic and Fetheared to Feathery.
  • [4] To Custom Brush, we need to create a new script for custom raster brushes. IMO, this script must be capable of creating an empty .xcf archive with a feature to set the size layer, the layer number, if is grayscale or RGB, transparent or white background. The message of the 'mouseover' option could be: "Create a custom raster brush."
  • To window dialogues of the scripts, we need to identify the kind of brush that we are creating, raster or parametric.

3rd Proposal One Level More Simplified

It was needled the Raster Brush to classify the kinds of them: Animated (.gih) and Static (.gbr)

|<|Contextual Menu of the [Brushes Menu]

Second Level opening [Brushes Menu]

|<|Contextual Menu
  \_Brushes Menu  >
                  \_Edit Brush [1]
                  Create a Brush:...       [Divisor label]
                  \_Parametric...          [2]
                  \_Raster Brush...
                    \_Animated Brush...    [3]
                     ---
                     Static Brush:...      [4]
                     Elliptic...
                     Elliptic feathery...
                     Rectangular...
                     Rectangular feathery... 
                  ---
                  \_Duplicate Brush
                  \_Copy Brush Location
                  \_Show in File Manager
                  \_Delete Brush
                  ---
                  Refresh Brushes
Messages and Scripts
  • [1] A conditional option: if is parametric send it to Parametric Editor, if is raster open the archive as an image.
  • The ideal naming of the second-level options is to have the name of the asset in each voice, for instance:
    • Instead of having a simple [_Edit Brush] have [_Edit 'Brush Name #1] In this way, we can avoid making wrong choices.
    • In each message box of [2] and [3] options, when we have mouseover, we need to write or repeat the kind of brush that will be created, for instance:
  • [2] To parametric kind, "Create .vbr parametric brush.", this option opens the .vbr Editor.
  • [3] To Custom Brush, we need to create a new script for custom raster brushes. IMO, this script must be capable of creating an empty .xcf archive with a feature to set the size layer, the layer number, if is grayscale or RGB,

transparent or white background. The message of the 'mouseover' option could be: "Create a custom raster brush."

  • [4] Eventually, the shape brushes could placed needled in 'Raster Brush...' [3]. The people is hard to cut certain things on GIMP ;)

This is a compromise.

Discussion with Mark Sweeney

The ideal naming of the second-level options is to have the name of the asset in each voice, for instance: Instead of having a simple [_Edit Brush] have [_Edit 'Brush Name #1] In this way, we can avoid making wrong choices.

This would be the name of the currently selected brush? I'm not sure that is possible with the current code, menus are named in a file.

Humm, yes this is true because the raster is binary and I am not sure what exactly it has as info... I'm writing a draft specification where the description or name of the raster brush asset will be own info in the binary.

So, is better to do a note and link it with my draft issue.


> Personally I'd just drop the mkbrush script, see vid. The brush editor has loads of room for extra buttons.

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?

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

|<|Contextual Menu
  \_Brushes Menu  >
                  \_Edit Brush [1]
                  \_New Brush
                  \_Duplicate Brush
                  \_Copy Brush Location
                  \_Show in File Manager
                  \_Delete 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.

Ok, I have thought also in this possibility but is another level where opens a script to make other options.

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

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.

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.