Bug 391210 - Feature request: gamut masking for the artistic color selector
Summary: Feature request: gamut masking for the artistic color selector
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Color Selectors (show other bugs)
Version: unspecified
Platform: Other All
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-28 06:25 UTC by Anna Medonosova
Modified: 2018-08-28 18:12 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
mockup for the docker (396.33 KB, image/png)
2018-02-28 06:25 UTC, Anna Medonosova
Details
mockup for the editor (463.83 KB, image/png)
2018-02-28 06:26 UTC, Anna Medonosova
Details
Gamut masking proposal, version 2 (335.67 KB, application/pdf)
2018-04-17 13:16 UTC, Anna Medonosova
Details
current work-in-progress (164.77 KB, image/png)
2018-06-13 15:16 UTC, Anna Medonosova
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anna Medonosova 2018-02-28 06:25:33 UTC
Created attachment 111076 [details]
mockup for the docker

I would like to enliven the discussion about gamut masking feature, as proposed in bug https://bugs.kde.org/show_bug.cgi?id=373922 and also in this forum thread: https://forum.kde.org/viewtopic.php?t=117587. I hope there is still demand for it.

I'm proposing a new design for the artistic color selector, based on what I would like to use and on study of James Gurney's gamut masking method. I'm attaching two hand drawn mockups on which I comment below. I'm not a professional artist and I certainly know nothing about UI design, please feel free to change it as you deem fit.


The concept
===========

Gamut masking is a workflow used by many artists, both hobbyist and professional. The gamut mask is a tool to create harmonious color schemes through limited palettes. The main idea is that the artist overlays a mask consisting of one or more shapes on top of the color wheel. Then she uses only the colors inside the shape. The shapes can be polygons or a curved objects.
											
In depth articles are available on James Gurney's blog:

  * http://gurneyjourney.blogspot.cz/2008/01/color-wheel-masking-part-1.html?m=1
  * http://gurneyjourney.blogspot.cz/2008/02/shapes-of-color-schemes.html?m=1
  * http://gurneyjourney.blogspot.cz/2008/02/from-mask-to-palette.html?m=1
  * http://gurneyjourney.blogspot.cz/2011/09/part-1-gamut-masking-method.html?m=1

I include few links to other digital implementations, for reference and inspiration:
  * The concept can be played with on this site: http://www.livepaintinglessons.com/gamutmask.php
  * Mypaint has a similar feature in the HCY’ color wheel
  * A Photoshop extension Coolorus has it under the name 'gamut lock’, this video shows it in action: https://vimeo.com/93007726


The new design
==============

The docker
---------------

I began with a slight overhaul of the artistic color selector, to make it more straightforward to use. The modified docker is shown on image 1.

1, 2, 3 show the number fields to set the light, chroma and hue pieces, respectively. I also added a button to toggle 'infinite’. The selector as it is now does not update when the active color changes. When the hue and chroma toggles are set to infinite, you could pick a color from the canvas and tweak it on the wheel.

4: Reset button for pieces 1,2,3. The default is set in docker preferences.

5: Button that opens preferences

6: the light pieces. I would like the swatches to show percentage of lightness.

7: the color wheel. It can be one homogeneous space (as in advanced color selector) or it can be broken up into discrete swatch areas (as it does now). When the gamut mask is toggled on, it shows the colors inside the shape, the outside is grayed.

8: foreground and background color

9: toggle the gamut mask on/off

10: a drop down with available gamut masks. It should have some basic color harmony shapes by default. The artist can create her own masks.

11: a button which opens the gamut mask editor.


The gamut mask editor
---------------------

The mask editor is shown on image 2. The artist draws the gamut mask with vector drawing tools (12) on top of the color wheel (13).

The drop-down menu below (14) can be used for creating a new mask or selecting an existing one for editing. The field can be overwritten to save it under a name.

The mask can be saved (button 15) or deleted (button 16). 
																																																																																																																																																															

Docker preferences
------------------

I haven't yet drawn a mockup for the preferences dialog. The preferences should include:
  * color mode selection (HCY’,HSI, etc.)
  * default number of the light pieces and color wheel swatch settings (hue and chroma pieces)


Conclusion
==========

I hope this is enough to get the discussion going again. There are still things to solve, the preferences, which vector tools should be included and many others. I would be grateful for any questions or feedback on this.

My programming skills are rather basic, but with the right guidance I could be able to help with the implementation.
Comment 1 Anna Medonosova 2018-02-28 06:26:23 UTC
Created attachment 111077 [details]
mockup for the editor
Comment 2 Anna Medonosova 2018-04-17 13:15:45 UTC
I have updated the proposal to version 2, which is available in a Google doc here: https://docs.google.com/document/d/1NoGj49V_H-SLMSxMv8SjNuS042Z44cZo4jlkiJCmJkc/edit?usp=drivesdk and also as a PDF attached to this bug.
Comment 3 Anna Medonosova 2018-04-17 13:16:52 UTC
Created attachment 112072 [details]
Gamut masking proposal, version 2
Comment 4 Anna Medonosova 2018-05-03 14:35:50 UTC
Just for the record, I have started working on it. The work-in-progress is available in my fork on github, branch gamut-masking (https://github.com/tilya/krita/tree/gamut-masking).
Comment 5 Halla Rempt 2018-05-03 18:03:42 UTC
Cool!
Comment 6 Anna Medonosova 2018-06-13 15:16:19 UTC
Created attachment 113249 [details]
current work-in-progress
Comment 7 Halla Rempt 2018-06-13 16:20:20 UTC
Maybe it's time for you to make a review request on phabricator.kde.org?
Comment 8 mvowada 2018-08-28 18:02:55 UTC
First time using it: a really great job, thank you!
Comment 9 Halla Rempt 2018-08-28 18:12:50 UTC
It has landed!