Цель разработки

Создать веб-конфигуратор для интерактивной настройки террасного навеса в 3D с нуля. Ключевое требование - современный интерфейс и мгновенное обновление трехмерной модели при изменении любого параметра.

Ключевой функционал конфигуратора

  • Выбор геометрии: настройка формы крыши, выбор боковых и задних стен.
  • Варианты заполнения: возможность указать тип материала (стекло, окна, ламели, глухие панели).
  • Размеры: интерактивное изменение ширины, глубины и высоты конструкции.
  • Материалы и цвета: выбор цвета элементов конструкции через палитру RAL или аналог.
  • Условная логика: автоматическое появление и скрытие опций интерфейса в зависимости от выбранной конфигурации.

Требования к визуализации (Three.js)

  • Наличие 3D сцены на Three.js с полным управлением камерой (вращение, приближение, отдаление).
  • Модель должна обновляться непосредственно в момент изменения параметров, без полной перезагрузки всей сцены.
  • Корректная архитектура добавления, удаления и позиционирования всех элементов конструкции.
  • Реализация плавных анимаций появления и скрытия элементов.

Требования к интерфейсу пользователя

  • Разработать панель конфигурации, содержащую кнопки, выпадающие списки (селекты), слайдеры и инструменты выбора цвета.
  • Реализовать функционал сворачивания и разворачивания основного меню.
  • Обеспечить корректное отображение и удобство использования на мобильных устройствах.

Сохранение и загрузка конфигураций

  • Реализовать сохранение и восстановление текущего состояния/параметров через URL (используя Hash).
  • Обеспечить возможность экспорта параметров текущей конфигурации в формат JSON.

Принципиальные замечания

Данный проект является сложным и требует опыта в трехмерной разработке (3D) и уверенной работы с библиотекой Three.js. Вся реализация должна быть выполнена с нуля, строго запрещается копирование чужих фрагментов кода, готовых трехмерных моделей или используемых материалов.