Layer styles that apply to groups

What features would you like to see in Pixelmator Pro?
User avatar

2020-07-10 20:28:01

Would it be possible to add a means of applying layer styles to layer groups as well? For example, in Photoshop you can add layer effects such as stroke, drop shadow, etc. to a layer group and it'll apply to the composited result of all of the layers in the group, which works better for a lot of things than applying the effect individually to each layer within the group (for example, it lets them all cast a single unified drop shadow).

Individual layers seem to have all of the style components I care about but groups as a whole do not, and the style "add" button is disabled.
User avatar

2020-07-13 14:30:34

We'd like to add this for sure but the stroke layer style currently makes this quite difficult — we'll see what we can do!
User avatar

2020-07-13 14:41:12

Ah, thanks for responding. I'm a bit surprised that any of the effects would make it difficult, since at least intuitively it seems like anything that can work on a single layer could also work on the composited result of multiple other layers, but I can imagine there's probably something tricky in the compositing pipeline I'm not considering especially if it only involves one effect and not the others.

I used to do graphics programming as my main line of work and I know how weird stuff can get, especially with alpha blending.
User avatar

2020-07-13 14:52:09

Yep, I'm not an expert here but as far as I've spoken to the devs about this before, it would require a relatively significant amount of effort (relative to the significance of the feature itself) mainly due to the computational costs of the stroke layer style.
User avatar

2020-07-13 15:25:14

Yeah, I can see the stroke effect being pretty difficult to make efficient, since it's not a 1:1 pixel mapping thing. Still, I don't see why it would be any more difficult to do on a composited layer group than on a single layer. But I obviously don't know enough about how Pixelmator works internally and I know how annoying an armchair developer can be.
User avatar

2020-07-14 09:01:01

So I decided to follow up on this (because, intuitively, I agree it shouldn't be difficult) and the problem is more about performance rather than programming difficulty. Basically, the stroke layer style requires a lot of processing and, while applying it to a group is simple enough, let's say you move one of the layers inside a complex group — instantly updating that stroke will significantly impact performance. Of course, you can also render the changes once the layer has stopped moving, but that usually confuses users and can tend to look buggy, so it's not an ideal option. Having said that, we've made some performance improvements to strokes over the past six months or so, so getting the kind of performance we'd be happy with might be possible with some further optimizations and it looks like group layer styles are now in our plans.
User avatar

2020-07-14 13:48:09

Ah! Yes that makes a lot of sense. Thanks for taking the time to explain.

I think users would be fine with a brief pause in that rare case but I do appreciate how responsive Pixelnator strives to always be.