[bug?] Colour picker is behaving weird with vector shapes

Only the colour change on flipping the foreground and background colour.

The colour picker is not spiralling towards black without Pigment.O.

Pigment.o does not cause this. It does not own any colour it is just a reflection of Krita. If Krita is stable pigmento will be stable it is that simple.

It is a Krita missmatch of colours that causes this pigment.o only shows it because there is a difference inside. because it won’t act if there is none.

Krita was stable in the past and ceased to be.

@sh-zam I just tested the build, sorry for the delay. For me it does switch fore- and background colours correctly. However, if I picked a different colour, I will have to switch it twice, because then the colours aren’t updating correctly.

@EyeOdin for me the default colour picker works just fine with Pigment.O disabled, the build that was posted earlier doesn’t exhibit the spiralling effect. However, with Pigment.O enabled, I can see these black colour stutters that aren’t present when the addon is disabled. As weird as that may sound to you — and to me, because I am not actually using the Pigment.O docker here.

just because you cant see something does not mean it never happen or does not exist. with normal color picker it does not give a error because it relays on the fact there is no update it gives no error.

I will explain how Pigmento works and why with pigmento this gives an error.

There is a timer that ticks and on every time it ticks pigmento asks Krita what document type and what color does it have currently and :

  • if there is NO color change it will do nothing.
  • if there is a color change it will receive that color update pigmento and at the end apply the same values IT RECIEVED back into krita.

This flickering into black or spiral into black is because pigmento then detects on the next cycle that the colors inside the vector layers are not Matching with the colors from the previous cycle because there is a color mismatch.

That is why you detect a small variation only when you swap color from foreground to back with the native ones. Pigmento on the other hand is constantly having miss matches because it is constantly updating into a new wrong color.

This missmatch is present on vector objects only unlike paint layers that are correct.

The thing is native color pickers CAN detect when there is a color change and will update then once (or that is what I think they do) then but through python you cannot verify this signal. this means after they update they remain silent and unchanged even if the values are wrong. because if they did update more often they would read the same color that is given to pigmento.

2 Likes

Thanks for the explanation.

By no means do I want to shed a bad light on your plugin, all I try to do is state what I can see and notice. Sorry if it sounded somewhat offensive to you.

No stress but I do want to highlight how paint layers and vector layers have difference and a odd problem somewhere. That did not exist for vector layer before.

Problem is I can’t say this on a bug report because all python errors go through the “your code is probably wrong” treatment even with sample code and ignored.

Pigmento just makes the small problems worse.

I have pigmento 2 to try and find a solution to this but untill now I just can only block vector layers to update as a solution.

If without my code a missmatch is found it proves what I have been suspecting for a while.

But the biggest curiosity about all this is pigmento only works when the docker is shown if it is closed it won’t be active and non of your spiral into black clips don’t seem to have it working.