M-Click: От «пет-проекта» к инженерному софту. Как я переписал 3D-движок и внедрил деталировку
Всем привет! С момента публикации первого поста прошло не так много времени, и за это время мой онлайн конструктор мебели M-Click (Мебель Клик) совершил качественный скачок. Я по-прежнему пишу код в одиночку, и сегодня хочу показать, что «что-то начинает вырисовываться».
Если в прошлый раз я показывал лишь «песочницу», то версия 2.4.10 — это уже серьезная заявка на полноценную CAD-систему для браузера.
📐 Глобальный рефакторинг и новый UI
Я полностью пересмотрел логику главного меню. Новый Project Creator — это не просто форма ввода, а гибкая система, которую я подготовил под будущую мультимодальность. Теперь интерфейс интуитивно понятен: вы настраиваете не только размеры, но и конструктив корпуса (типы крышек, дна, задних стенок) еще до начала моделирования.
🎨 Фотореализм и Real-World Scale
Одна из главных проблем простых планировщиков — «замыленные» текстуры. В Мебель Клик я внедрил технологию PBR-материалов с поддержкой карт нормалей и шероховатости. Но главное — это Real-World Scale: текстуры (например, из нового каталога Lamarty) накладываются с учетом реальных размеров физического листа ЛДСП. Рисунок дерева больше не множится мелкой мозаикой, а выглядит точно так же, как на реальном изделии.
🛠 Кромка и «пильные» размеры
Мебель — это не только картинка, но и чертежи.
- Визуализация кромки: Теперь в конструкторе можно задать кромление торцов. Система сама понимает, где кромка необходима (например, на всех сторонах фасада или только по переду полки), и отображает её на 3D-модели.
- Математика вычета: В модуле спецификации реализован автоматический расчет: система вычитает толщину кромки из габаритов деталей, выдавая чистые «пильные» размеры для станка.
- Валидация: Шкаф получил «физический интеллект» — он не даст поставить полку там, где она не влезет, или задать слишком высокую цокольную планку.
📄 Экспорт и PDF-отчеты
Теперь из M-Click можно выгрузить полноценную спецификацию. При генерации PDF сцена автоматически переходит в режим печати (белый фон, контрастное освещение, без сетки), делает скриншот и формирует документ с чертежом, датой и таблицей всех деталей. Более того, система подсветит красным, если деталь превышает габариты выбранного листа ЛДСП.
🚀 Что дальше?
Проект всё еще полностью бесплатен. Сейчас я оптимизирую код (сжимаю текстуры, фиксирую баги в TypeScript), чтобы всё это «летало» даже на средних смартфонах.
Пощупать новую стабильную сборку на сайте конструктора.
Заходите, крутите модели, пробуйте собрать свой первый шкаф. Мне критически важна ваша критика по новым функциям. Стало ли удобнее? Чего не хватает в спецификации?