On Wed, 2004-09-29 at 05:26, David Christian Berg wrote:
On Mi, 2004-09-29 at 01:52 +0100, Alan Horkan wrote:
"the principle of least astonishment"
if a users deletes something it is not unreasonable to expect it to be gone. if you delete a recatangle with a gradient in it why would a normal users expect the gradient to still be contained in the current document? [1]
exactly!
have you seen anything like this (unused definitions left lying around) in another application, of any kind not just vector drawing applictions? (the closest thing i can think of is styles definitions in a word processing document but the differnce is that there is a clear interface to it that ordinary users can learn.)
Yeah, but that are explicit definitions, not ones used gradients
Gradients which are automatically created for various purposes are automatically cleaned up when they become no longer used. I implemented this for 0.39 (or was it 0.38?).
Manually-created gradients/etc, however, must be explicitly cleaned up when requested. Attempts at a more agressive automatic policy brought too many complaints from users who were negatively astonished.
This makes me wonder... when I circle through my objects on the canvas with tabs, I notice that I have many black objects, that just aren't there. I can delete them, but once I save and reopen the document, they are back there... I think I should file a bug, but I don't think it's hidden objects, though.
Could you post a sample SVG in which this behavior is displayed?
The worst part is, that right now you can't differentiate between gradients to keep and gradients to through away. If you had to manually select the ones you want to keep, you expect the others to be thrown away. It's also a pitty that i can't have swatches for colors and strokes (but yes, we know that :)
I think we will need to revisit orphan collection policy once we have swatches implemented; we may be able to do something that feels a little more natural.
It's not about how SVG works. I know how it works, but I still expect fills and stroke to be bound to an object, unless I want them not to be. And even though they are not visible: they bloat the file and make the gradient list unusable.
We had to strike a balance between keeping objects and removing them as soon as they became unused. The most agressive policies caused problems so now we have adopted a more conservative one
With the current UI (i.e. no swatches) the current policy seems to be the most aggressive one that doesn't surprise most users when it deletes things).
"Clean up defs" has to be a temporary solution! Let's not discuss on where to put it, it's not important, really.
Agreed, I think..
-mental