Пришла такая идея: пишем оболочку редактора, которая обладает рабочей областью, механизмом масштабирования, панелью инструментов слева, деревом объектов справа, классической панелью инструментов сверху. Ну что-то типа корела какого-нибудь.
Дальше, весь код, необходимый для обработки конкретного формата данных, в т. ч. диалоги, кнопочки, ресурсы, логику кладем в динамическую библиотеку, код которой, в текстовом виде, кладем прямо в файл данных (размер не такой уж и серьезный, особенно если сверху zlib'ом пройтись)
Редактор, открывая файл, смотрит в специальном поле какой формат и какой версии там используется, и, если у него нет соответствующей динамической библиотеки готовой, достает сорцы из файла, компилирует, кладет себе в специальный каталог, динамически ее подгружает, обогащается всякими нужными кнопочками, механизмами обработки соответствующего формата.
Таким образом, единожды накодив такой редактор и поместив его на компьютеры ряда пользователей, можно в этом универсальном редакторе обрабатывать что хочешь - хоть макет печатной платы, хоть уровень в игрушке Х.
Все бы было хорошо, но я вижу одну очень страшную проблему - вирусы (ну или вредоносное ПО) и как принципиально все спроектировать чтоб свести эту проблему на нет - я не придумал. Ну можно завести под редактора отдельного пользователя и урезать в правах, можно chroot, можно виртуалку вообще, но это все не то. Вот, выкинул концепцию сюда, вдруг кто что годное придумал...
ЗЫ: все это пьянство никто не мешает сделать кроссплатформенным, это тоже стоит учитывать. К тому же важным преимуществом является независимость от Сети, что срезает возможность централизованной борьбы с вредоносным ПО.