
On Thu, 2004-06-10 at 01:24, bulia byak wrote:
That's problem #1. Remember that our SVG must render the same anywhere. If I hide a layer and save, I must not see that layer in Batik either. I don't see how you can achieve this, other than by manually adding SVG invisibility to all objects that are in an invisible layer (messy).
We could conceivably use CSS in some fashion (even if we don't support it yet ourselves). The UI for "layer" visibility I have in mind is similar to search, however ... not necessarily the kind of thing that would make sense to store persistently in the file.
Also:
- I disagree that layers should not be related to z-order. A very useful
operation (in a traditional vector editor) is re-z-ordering layers, which is not possible with your scheme - except if you select all objects in a layer and group them and move them up or down... which brings us back to the original scheme.
You're describing groups; this is something different.
- The notion of current layer is possible (just add the name of the current
layer to all newly created objects), but again this disregards z-order which may be very inconvenient. For example if I work in a layer which is on top of "background" layer but under the "shades" layer, I expect all new objects to be created in between these layers as well.
You're still describing groups.
- The idea of an object belonging to more than one layer is cool, but the
more I think of it the less I like it.
[...description of problems due to an expectation that layers are like groups...]
Or am I missing something?
I guess using the term "layers" sets up wrong expectations of behavior for people coming from Illustrator/graphic design backgrounds (because Illustrator calls its top-level groups "layers" and limits the functionality of child groups), so we will need to find a better term.
What I'm describing is fundamentally different (we will still have groups, so top-level groups will necessarily act like "Illustrator layers") -- think of my "layers" being like search keywords, where one can say "hide all objects not matching this set of keywords".
Actually there's nothing preventing the layer names from BEING keywords. Maybe we should run with that idea?
-mental