Wow. I didn't notice the attributes being propagated, but your file being smaller than mine by 6 KB is an indication of failure to optimise indeed.
In either case, 'g' *must* check that its parent is not a 'switch', so I'll probably commit a quick fix for this first before attacking the rest.
<switch> <g> <g ATTRIBUTES> should at least remove the outer 'g', but preserve the inner g's attributes as you describe.
However, <switch> <g> <g id="UNUSED"> should remove the outer 'g', but *must* preserve the inner 'g' on the grounds that it's the only 'g' keeping the 'switch' correct.
Wow. I didn't notice the attributes being propagated, but your file being smaller than mine by 6 KB is an indication of failure to optimise indeed.
In either case, 'g' *must* check that its parent is not a 'switch', so I'll probably commit a quick fix for this first before attacking the rest.
<switch> <g> <g ATTRIBUTES> should at least remove the outer 'g', but preserve the inner g's attributes as you describe.
However, <switch> <g> <g id="UNUSED"> should remove the outer 'g', but *must* preserve the inner 'g' on the grounds that it's the only 'g' keeping the 'switch' correct.