По поводу расширенная функциональность структуры VS разнесение деталей по слоям. ИМХО, слои помогут включать/выключать видимость различных объектов на сцене. Действительно - двери в одном слое, ножки и ручки в другом и пр. Эту функциональность можно перенести в структуру проекта (кстати - как?), но это потребует большой работы по переопределению стандартного элемента управления.
Класс элемента управления "Дерево" от Microsoft допускает только единичное выделение. Да, все достаточно легко перепрограммируется, но сразу вылазят косяки
Например, еще в самом начале мы сделали множественное выделение, но тут же столкнулись с тем, что оп-па - детали в разных проектах тоже можно совместно выделить... Что делать? Отказаться от работы одновременно с несколькими проектами? Ввести дополнительные проверки, чтобы детали множественно выделялись только в пределах одного проекта? Оказалось, что объем этой работы несопоставим с выгодой, которая ожидалась и мы временно вернули все к стандарту.
Конечно, это не значит, что от этого нужно отступится. Если нужно задачу решить - то нужно изыскивать пути ее решения, а не оправдания почему это невозможно
Но как всегда в жизни к простым формулировкам все не сводится... Вот недавно Microsoft дала разработчикам возможность использовать классы как в новом Офисе - современные пристыковываемые окна, панели инструментов, деревья, вкладки и пр. Ясно, что в ближайшем будущем надо переходить на эти классы, чтобы интерфейс программы выглядел адекватно времени... Вот уже, говорят, и Автокад перешел на эти классы...
Это я к чему - если переопределять стандартные элементы управления, то нужно учитывать - как их перенести на другой код и пр. Поэтому мне пока вариант со слоями больше нравится. Но давайте пообсуждаем альтернативный вариант - какую функциональность внести в структуру проекта, чтобы она успешно решали озвученные задачи?