Jump to content

Global colour from selected object ambiguity


Kal

Recommended Posts

In Designer:

  1. Create a simple object with a coloured fill.
  2. With the object still selected, press the 'Add current color to palette as a global color' in the Swatches panel.
  3. Notice that the new global colour isn't highlighted in the Swatches panel. However, if you click between different objects and back to the first object, the new global colour is highlighted—the UIs way of telling you that the object has that colour applied.
  4. Deselect the object and edit the global colour. Notice that the colour of the new object has not been updated. It seems that it never did have the global colour applied to it.

You could argue about the expected behaviour at point 3. Should it automatically apply the new global colour to the selected object? I think it should. But even if the devs think otherwise, if selecting the object highlights the global colour in the palette, that should be a reliable indication that it has the global colour applied.

It looks like this bug has been around for a VERY long time, as I just reproduced the behaviour in V1.

Edited by Kal
Clarified step 2
Link to comment
Share on other sites

1 hour ago, Kal said:

if selecting the object highlights the global colour in the palette, that should be a reliable indication that it has the global colour applied

The incorrect swatch highlighting has been a problem throughout the six years I've used Affinity apps, if I remember correctly.

The swatch highlighting uses a searching method appropriate for finding a non-global swatch when an object's fill is non-global, even when an object's fill is a global colour. It identifies the first swatch, global or non-global, with a colour definition that matches the definition of the selected object's fill colour, be it global or non-global.

That can result in the following errors:

  • a non-global swatch being identified for an object's global fill
  • a global swatch being identified for an object's non-global fill

Possibly, the app began life with no global colour functionality and then, when global colours became implemented, the developers neglected to appropriately update the swatch searching and highlighting.

Link to comment
Share on other sites

22 minutes ago, lepr said:

The incorrect swatch highlighting has been a problem throughout the six years I've used Affinity apps, if I remember correctly.

Right. So really, there are two issues here… Swatch highlighting generally, and the way a selected object doesn't adopt the global colour created from it.

Swatch management is probably the single most frustrating thing for me with Affinity.

Link to comment
Share on other sites

2 hours ago, Kal said:

and the way a selected object doesn't adopt the global colour created from it.

When you use the Swatches panel to add the Global Color (your step 2), you aren't adding it from the object. You're just using the current color, and you might not even have an object selected. The Color is the one shown in, for example, the Color panel.

You should right-click on the object and add the Global Color from there, to accomplish what you want.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.1.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1

Link to comment
Share on other sites

36 minutes ago, walt.farrell said:

When you use the Swatches panel to add the Global Color (your step 2), you aren't adding it from the object. You're just using the current color, and you might not even have an object selected.

Yeah, strictly speaking you’re right and I do realise that, but in my example the object is selected, which sets the current fill colour to match the object colour. (I just noticed that I could have been clearer in my original post and explicitly stated that the object is still selected in step 2. I’ve edited to make it clearer.)

Link to comment
Share on other sites

1 hour ago, Kal said:

but in my example the object is selected, which sets the current fill colour to match the object colour.

Even so, you're not setting the Global Color from the object. You're setting it from the color well, and that's what makes the difference. 

I agree that this subtlety is confusing, though, and should perhaps be improved as you suggest. But I don't think it's a bug.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.1.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1

Link to comment
Share on other sites

5 hours ago, walt.farrell said:

I agree that this subtlety is confusing, though, and should perhaps be improved as you suggest. But I don't think it's a bug.

A bug is really anything that doesn't work as intended. In my original post I acknowledged that 'You could argue about the expected behaviour at point 3'. So it really depends on what the Affinity devs think should happen. I've made it known what my expected behaviour is, but they may feel differently of course.

4 hours ago, lepr said:

OK, that may be so, but we must hope the Serif bug report gatekeepers still understand there is a definite bug with swatch highlighting.

Exactly.

Link to comment
Share on other sites

  • Staff
On 8/6/2023 at 11:14 AM, Kal said:

In Designer:

  1. Create a simple object with a coloured fill.
  2. With the object still selected, press the 'Add current color to palette as a global color' in the Swatches panel.
  3. Notice that the new global colour isn't highlighted in the Swatches panel. However, if you click between different objects and back to the first object, the new global colour is highlighted—the UIs way of telling you that the object has that colour applied.
  4. Deselect the object and edit the global colour. Notice that the colour of the new object has not been updated. It seems that it never did have the global colour applied to it.

You could argue about the expected behaviour at point 3. Should it automatically apply the new global colour to the selected object? I think it should. But even if the devs think otherwise, if selecting the object highlights the global colour in the palette, that should be a reliable indication that it has the global colour applied.

It looks like this bug has been around for a VERY long time, as I just reproduced the behaviour in V1.

When I try this here the colour is updated in step 4 Im not sure if I might be doing something differently to you. Please could you provide a screen recording that demonstrates how to replicate this problem?

Please tag me using @ in your reply so I can be sure to respond ASAP.

Link to comment
Share on other sites

Hi @Callum,

The basic 'issue' is that when the red rectangle is re-selected after creating the global colour, it technically shouldn't highlight the global colour in the swatches panel because the rectangle at this point isn't actually using the global colour but because the global colour is selected in the swatches panel when the rectangle or layer is selected, the assumption is that the rectangle does have the global colour applied and hence the expectation is that by editing the global colour this will change the colour of the rectangle accordingly which of course it doesn't because the global colour itself has at no point actually been assigned to the rectangle.

Affinity Designer 2.5.5 | Affinity Photo 2.5.5 | Affinity Publisher 2.5.5
Affinity Designer Beta 2.6.0.2861 | Affinity Photo Beta 2.6.0.2861 | Affinity Publisher Beta 2.6.0.2861

MacBook Pro M3 Max, 36 GB Unified Memory, macOS Sonoma 14.6.1, Magic Mouse
HP ENVY x360, 8 GB RAM, AMD Ryzen 5 2500U, Windows 10 Home, Logitech Mouse

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.