We need a way to apply effects to the whole screen. 3D games use a big quad that samples a buffer where everything's been stored so far. Layers cannot sample other layers in Construct. Would using Canvas work?
That's exactly what I do. Create a canvas object and put it into the topmost layer. Then apply the effect to the canvas object. So you really only ever have to set the effect once.
DevS: It'd be cool if we could copy / paste a whole layer with its settings from one layout to another.
If you want the effect on other layouts as well, you just create a layer on top of everything and set it to be an inheritance layer that references the canvas layer from the other layout.
The interesting part is that we can even use this stuff for gameplay effects. Like, you can even flip the screen (including inverted controls), invert everything, use warp effects and stuff like that.
Also, because the post processing then happens on an object and isn't just something that's being done internally, you can use it in events, which is pretty awesome. Imagine your character is drunk or drugged and to heighten the difficulty, you could start warping the screen, etc.