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 становится специализированным мотором для тех операций, где двухмерной сборки уже недостаточно.