On paper this looks simple, but I'll have to see if that translates in practice.
Yes.
Indeed, this could be complex and tricky, I included it to cover all angles.
Well, it would be useful to compute the skin size (excluding the background meter) to adjust the size of that meter in Lua.
But yeah, I'm one of those that likes to go "where no one else has gone before", so to speak.
------------------------------------------------
The root of the issue here is that a background meter is the first in a skin, but at that time the size of the skin is only available internally in the non-dynamic [Rainmeter] section, and it includes the background meter size (which complicates adjusting that size, as it requires unaccounting it by toggling the meter and multiple skin redrawing). The variants above look for a way to "insert" getting the contents meters' cummulative size so it can be used to adjust the background meter's size before redrawing the skin.
For now I must have a working bevel as a shape meter in plain ini code, so that I can verify whatever I might do in C++ against it. I thought I've done it via the last code I posted here, but it only works correctly for square rectangles because of the 45±180 degree gradient - I have another approach in the making where the top right and bottom left corners are separated squares from the rest of the paths and the gradient works fine, but as you said, joining those things without combining shapes for fractional bevel widths is a challenge (might need some rounding up and down in various places).
P.S. 4) another variant would be to have a Background=... option similar to the Container=... one in a meter, that allows getting the internally available cummulative size of the other meters as, say, $CURRENTCONFIGWIDTH$ and $CURRENTCONFIGHEIGHT$ and use it to set the said meter's dimensions. Just brainstorming here, of course...