Optimize SVG deletes fill="freeze" attribute for SMIL animation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
New
|
Undecided
|
Unassigned | ||
Scour |
New
|
Undecided
|
Unassigned |
Bug Description
I export a SVG as "Optimized SVG" and I realized that several frames were wrong. Objects which were supposed to disappear or appear fail to do so. It seems the "Optimized SVG" deletes the "fill" attribute on <animate*> tags (well actually not completely, a few survived, I can't see a pattern of when it is removed or not).
This is especially annoying because "remove" is the default value for the `fill` attribute (see: https:/
I suggest that "Optimized SVG" only removes `fill="remove"` since it is default, but keeps any other value.
tags: | added: exporting extensions-plugins |
Oh actually I realized what Inkscape did and why some <animate*> still had a fill attribute whereas most didn't. My SVG had a whole bunch of <animate*> tags all using the same fill="freeze" value. So Inkscape grouped them all under <g fill="freeze"></g>. Then when I had a few fill="remove", it just kept these in the tag themselves.
As far as I understand the spec, this is not supposed to work, and Inkscape is therefore wrong to optimize this way. The spec gives a default value of "remove" and does not say that any <animate*> tag would use the value from the parent. Grouping them is useless.