TRUE VISUAL BUILDER изначально развивался как инструмент внутри Photoshop. Это логично: итоговая композиция все равно живет в PSD, а дизайнеру важно видеть слои, маски, смарт-объекты и возможность вручную довести результат. Но часть задач - геометрия, перспектива, трехмерные объекты, персонажи и сложный свет - быстрее упирается в ограничения чисто двухмерного подхода. Вместо попытки превратить Photoshop в плохой 3D-редактор мы выбрали другую архитектуру.
Photoshop остается главным рабочим местом
Для пользователя Builder должен ощущаться как инструмент Photoshop. Здесь выбирается задача, запускается сборка, здесь же появляется финальный результат и отсюда начинается ручная доводка. Это важно не только из-за привычки. PSD дает то, что нужно дизайнеру после автоматической сборки: независимые слои, возможность локально поправить цвет, маску, тень или композицию.
Поэтому перенос всего процесса в отдельное 3D-приложение нам не подходит. Он разрушил бы основной сценарий работы и заставил бы пользователя постоянно переключаться между средами.
Blender получает роль вычислительного движка
В выбранной архитектуре Blender 5.2.1 LTS работает как скрытый headless-движок. Пользователю не нужно открывать его интерфейс и управлять сценой вручную. Builder формирует задание, локальный сервис запускает нужную операцию в Blender, получает результат и возвращает его в рабочее пространство проекта.
Так можно использовать сильные стороны 3D - камеру, геометрию, риг, материалы, освещение и рендер - не превращая Blender в основной интерфейс продукта.
Между программами нужен файловый контракт
Самая важная часть такой схемы находится не в кнопке "Запустить Blender", а в способе обмена. Мы строим взаимодействие через job workspace: для каждой операции создается понятное рабочее пространство с входными файлами, параметрами, промежуточными результатами и выходными артефактами.
Это позволяет разделить ответственность. Photoshop-плагин не обязан знать внутренности каждой 3D-операции. Blender-скрипт не обязан знать устройство панели UXP. Оба участника знают только контракт задания и формат результата.
Локальный сервис связывает два мира
Photoshop UXP не должен напрямую превращаться в диспетчер внешних процессов. Между интерфейсом и Blender мы закладываем локальный TVB Service. Он принимает задания, проверяет окружение, запускает нужный пайплайн и сообщает статус. Такой слой кажется дополнительной сложностью, но именно он позволяет не зашивать инфраструктуру 3D-движка внутрь интерфейсного плагина.
В дальнейшем через тот же механизм можно подключать разные типы операций, не переписывая пользовательский интерфейс каждый раз.
Старый режим остается как страховка
Новая архитектура не означает, что весь существующий Photoshop-only функционал нужно выбросить в один день. Legacy-режим остается fallback до тех пор, пока 3D-ветка не пройдет приемку на реальных задачах.
Для нас это важный принцип разработки внутренних инструментов: новая технология должна доказать пользу, прежде чем станет единственным путем. Рабочий старый контур лучше временного идеального будущего, которое еще нельзя использовать.
В итоге мы не пытаемся выбирать между Photoshop и Blender. У каждого из них своя роль. Photoshop остается местом, где дизайнер управляет результатом, а Blender становится специализированным мотором для тех операций, где двухмерной сборки уже недостаточно.