A 'live' palette can store and display alpha values - A problem?

There’s an interesting behaviour of the palette and colour picking system which may cause a problem in some situations.

Using the Colour Picker tool on a single layer which has paint with opacity less than 100% will in fact store the alpha value of the colour in the palette and display it in the palette at that opacity with an assumed white background (judging by appearances).

Here is an example of that with a newly created palette called ‘session palette’:

The tooltip shows the RGBA values because the nightly builds added that as a fix for a palette UI/UX bug.

If a colour is selected from a swatch then the alpha value is not used for any purpose so the colour painted on the canvas will depend on the current setting of the Opacity slider.

When saved in the Resources folder or in a document, the palette swatch entries have the alpha value removed and only store the RBG values. So, the palette alpha values are only valid in the session that creates them.

In a new session, the palette looks like this:
alpha gone from palette

So, if a layer has paint with opacity less than 100%, it’s possible to create a palette that looks as you’d expect it to look by Colour Picking but then does not behave as it looks when selecting from it to paint with and then loses those displayed colours in the next session.

There are various ways this could be dealt with so what do you think?:

  1. Ignore it, saying, “It’s never caused a problem before so it’s not a problem.”

  2. Modify the picker behaviour so that if a colour with alpha less than 1 is picked then the stored colour is sampled from all layers. This would have the advantage that the displayed colour on the palette would match the colour seen on the canvas. (Unless the background is also partly transparent …)

  3. Modify the picker behaviour so that the single layer picked colour is stored with alpha forced to 1 so that the stored and displayed swatch corresponds to how it will look after saving and reopening.
    I think this would be a simple, and sensibly pragmatic option.

  4. Modify the stored and hence reopened palette structure so that the sampled alpha is maintained.
    This opens the possibility of having palettes store translucent colours which then raises questions of how the the alpha of swatch might affcect the Opacity of a painted colour that was selected from a palette swatch.
    (This is the complicated solution.)

  5. Something else.

If it shows alpha it should not mix with white but with the checkerboard pattern behind it.

Also I think that it should store the alpha into the palette between sessions and if it stores it should pick the color and alpha of the resulting layers it is set to check.

That would make more sense to me.