Hi Mike, yeah so the way I've been thinking of proceeding so far has been to add both Groups and "Instances" (still not sure whether to call it "Instances", "Blocks", "Components", or "Templates" but kind of leaning towards "Compoments") as 2 different mechanisms.
A group would be kind of closer to the current object name - a group would be a kind of named container label that you could create and assign objects or other groups to, and the group within a group would provide for a hierarchical organization.
That would be a separate thing from instances/components - the instancing mechanism would be more focused on generating a bunch of duplicates of some base object template, in such a way that the main objects are only defined once and so it reduces file size since each instance does not have a full copy of all the base geometry and would also allow having the base definition be edited and have all the instances get updated.
Having these as separate mechanisms I think will allow for more flexibility - you'll be able to use Groups for just pure organizing of objects into hierarchies, and the instancing mechanism would be more focused on some additional stuff like a base object edit mechanism.
But I'm still not quite 100% certain if that's the way to go - there is some overlap between these concepts because what if someone makes a group and then copies that group, were they then expecting it to behave like an "instance"... I guess that maybe I should not worry about that since usually grouping in 2D illustration programs does not form instances with that process anyway (when just copying a group).
- Michael
|