Kitchen 3D Planner
Планировщик кухни для мебельных компаний: подбор модулей, фасадов и техники по размерам помещения, с 3D-сборкой на выходе.
Kitchen 3D Planner — подробно
Кратко о проекте
Kitchen 3D Planner — сервис для мебельных компаний, который собирает раскладку кухонного гарнитура по реальному каталогу модулей, а не рисует «красивую» картинку кухни. На входе — размеры помещения, форма кухни, нужная техника и, по желанию, референс-фото или свободное текстовое либо голосовое описание. На выходе — не изображение, а проект: точная раскладка модулей каталога, схема кухни сверху, отчёт о том, что было запрошено и что получилось, и 3D-сборка, которую можно покрутить в браузере.
Архитектура построена вокруг одной идеи: картинка кухни — это визуализация уже посчитанного и проверенного плана, а не источник истины о том, как кухня устроена. Только после расчёта и проверки, по желанию, генерируется картинка — и даже она затем автоматически сверяется с планом.
Продукт на стадии MVP/бета: ядро — расстановка модулей, оценка вариантов, валидация, 3D-визуализация — реализовано и используется; часть сценариев (например, композиция верхнего ряда шкафов в нестандартных случаях) отмечена как рабочая, но не доведённая до идеала.
Задача
Подбор кухни под помещение в мебельной компании обычно делает дизайнер вручную: берёт размеры, подбирает корпуса и фасады из каталога, расставляет их с учётом практических ограничений (мойка на нужной стороне, холодильник не рядом с плитой, вытяжка над варочной панелью), держа в голове десятки позиций каталога и их совместимость.
Каталог кухонной мебели устроен не как плоский список «модулей»: корпус, стиль фасада, техническая фасадная схема под конкретный корпус и коммерческая коллекция — связанные, но разные сущности, и вручную удерживать эти связи без ошибок сложно. Жёсткие ограничения размещения — мойка на своей стороне, холодильник вне ряда, сторона варочной панели — при ручной правке «на лету» легко нарушить.
Проверка, что готовая раскладка совпадает с запросом клиента, вручную занимает время и подвержена ошибкам при потоке заказов. А картинка «как это будет выглядеть», нужная для продажи, рискованна как единственный источник истины: генеративная модель может нарисовать красиво, но не то, что реально можно закупить и смонтировать.
Решение
Kitchen 3D Planner переносит расстановку кухни из головы дизайнера в систему с явными правилами:
Запрос клиента (форма / текст / фото) → структурированные данные → расчёт раскладки и оценка вариантов → валидация плана → визуализация (схема сверху, 3D, опциональный AI-рендер).
Форма, текст и фото сводятся к одному структурированному описанию кухни. Дальше алгоритм на явных инженерных правилах расставляет модули по каталогу, не нарушая то, что задал клиент. Если вариантов получилось несколько, их оценивает скоринг-механизм. Готовый план проходит построчную валидацию, и только затем строится схема, 3D-модель и, опционально, фотореалистичная картинка с проверкой на соответствие плану.
Языковые и vision-модели используются на краях пайплайна — понять запрос клиента, считать стиль с фото, оценить итоговую картинку. Саму раскладку, от которой зависят реальные деньги на распил, доставку и монтаж, считает детерминированный движок, а не генеративная модель.
Как работает
1. Приём запроса — форма, текст, голос, фото
Клиент описывает кухню формой с явными параметрами, свободным текстом или голосом («угловая кухня три на два, мойка слева, вытяжка без шкафа»), либо референс-фото для стиля. Текст обрабатывает языковая модель, переводя формулировку в те же поля, что заполняются вручную; при её недоступности система переключается на собственный текстовый разбор того же описания, так что сбой внешнего сервиса не блокирует приём заявки.
2. Определение стиля по референс-фото
По фото кухни или брендбуку vision-модель извлекает структурированные сигналы стиля: тип композиции, высоту фасадов, цвет и стиль фасада, стиль ручек и столешницы, наличие цоколя и стеклянных вставок, видимую технику. Стиль влияет на подбор коллекции и цвета, но не на геометрию — раскладку по-прежнему считает алгоритм, а не фотография.
3. Ролевой планировщик модулей — ядро системы
Расчётное ядро строит раскладку нижнего и верхнего ряда шкафов по каталогу. Нижний ряд собирается по зонам — мойка, посудомоечная машина при необходимости, зона готовки, холодильник, заполнение остатка. Верхний ряд собирается в несколько проходов: сначала обязательные зоны (угол, над мойкой, над варочной зоной с учётом типа вытяжки), затем — заполнение остального пространства.
Это процедурный алгоритм на явных правилах, а не модель машинного обучения: положение мойки, сторона варочной панели, высота углового шкафа надёжнее задавать кодом. Параметры, заданные клиентом явно, зафиксированы как неприкосновенные и не переставляются при переборе вариантов. Результат — раскладка, которую можно закупить и смонтировать: каждый модуль привязан к реальному коду каталога и совместимой фасадной схеме.
4. Скоринг вариантов раскладки
Планировщик может вместо одного результата посчитать несколько вариантов и оценить каждый по восьми компонентам: функциональный треугольник мойка–плита–холодильник, качество рабочей поверхности, ритм нижнего и верхнего ряда, вертикальное выравнивание, разнообразие модулей, заполнение прогона, обработка углов, штраф за однообразные решения. Если первый вариант уже набирает высокий балл, остальные не считаются — экономия вычислений там, где она не снижает качество. Каждый компонент — измеримая геометрическая величина, переведённая в баллы по фиксированным порогам, поэтому для одного и того же плана скоринг всегда даёт один и тот же результат.
5. Валидация плана и схема сверху
После расчёта раскладка проходит построчную проверку: форма кухни, длины прогонов, сторона мойки, безопасное расстояние между мойкой и варочной панелью, положение холодильника, существование кода каждого модуля в каталоге, отсутствие непокрытых участков. Параллельно строится 2D-схема кухни сверху — нижний ряд как базовый слой, верхний поверх него. Валидатор сравнивает «запрошено — посчитано — расхождение» по каждому параметру отдельно, поэтому при несовпадении видна точная причина, а не общий вывод «что-то не так».
6. 3D-визуализация и AI-рендер с проверкой
По финальному плану строится интерактивная 3D-модель кухни в браузере — корпуса, фасады, столешница, фартук, верхний ряд, техника в реальных пропорциях, с возможностью вращать камеру. Расчёт геометрии вынесен в отдельный слой и покрыт автоматическими тестами, что позволяет менять визуальную часть, не затрагивая расчёт координат.
Опционально план превращается в фотореалистичную картинку: промпт строится из данных плана, а референс-фото при наличии передаётся как источник стиля с указанием не менять раскладку. После генерации отдельная vision-модель сверяет картинку с чек-листом из того же плана и возвращает оценку по каждому пункту — так типичные ошибки генеративных моделей (пропавшая мойка, лишняя техника, сдвинутые шкафы) ловятся автоматически. Рендер не считается доказательством корректности раскладки — источником истины остаются план и его валидация.
Ключевые особенности
Разделение ответственности между ИИ и кодом. Языковые и vision-модели понимают свободную формулировку человека или изображение — на входе и выходе пайплайна. Геометрию кухни, от которой зависят реальные деньги на распил и монтаж, считает детерминированный алгоритм.
Жёсткие пользовательские ограничения нельзя нарушить при переборе вариантов. То, что клиент задал явно — сторону мойки, положение варочной панели, отдельно стоящий холодильник, — алгоритм не переставляет ни при генерации кандидатов, ни при выборе лучшего варианта.
Устойчивость к недоступности внешних моделей. При сбое языковой модели для разбора текста система переключается на собственный текстовый разбор того же запроса — приём заявки не останавливается из-за сбоя стороннего сервиса.
Несколько вариантов раскладки и объективный выбор между ними. Система может посчитать и сравнить несколько вариантов по заранее заданным критериям, не полагаясь на то, что первый посчитанный — лучший.
Картинка не заменяет план. Визуализация, даже если сгенерирована ИИ, всегда проверяется автоматически на соответствие посчитанному и провалидированному плану.
Единое структурированное представление кухни. Форма, текст, голос и фото сводятся к одному набору структурированных параметров.
Техническая реализация
Расстановка модулей и скоринг вариантов — процедурный код на явных правилах и весовых формулах, без моделей машинного обучения: раскладку кухни надёжнее подчинить жёстким инженерным правилам в коде, чем доверить генеративной модели. Валидация плана реализована как независимый модуль правил, сравнивающий посчитанный план с исходным запросом построчно, без зависимости от генеративных моделей.
Каталог кухонной мебели хранится как нормализованная модель данных: корпус, стиль фасада и техническая фасадная схема — отдельные, связанные между собой сущности, а не плоский список позиций, что позволяет одному корпусу переиспользоваться в разных фасадных коллекциях без дублирования данных.
3D-сборка построена на связке инструментов для интерактивной 3D-графики в вебе; расчёт координат вынесен в отдельный слой без зависимости от способа отображения и покрыт автоматическими тестами, что позволяет менять визуализацию, не трогая геометрию, и наоборот. Текстуры материалов (столешницы, фартуки) генерируются классическими алгоритмами компьютерного зрения, без нейросети.
Доступ к языковым, vision- и генеративным моделям изображений организован через единую точку интеграции — конкретную модель под задачу можно менять через конфигурацию, не переписывая интеграцию.
Технологический стек
Python / FastAPI — backend и API планировщика.
SQLAlchemy — работа с моделью данных каталога модулей.
OpenRouter — единая точка доступа к языковым, vision- и генеративным моделям изображений.
OpenCV + NumPy — детерминированная генерация текстур материалов.
Next.js / React — фронтенд планировщика: форма, каталог, 3D-просмотр.
Three.js + React Three Fiber — интерактивная 3D-сборка кухни в браузере.
React Query — управление серверным состоянием на фронтенде.
Jest — автоматические тесты расчётной логики 3D-слоя.
Что получилось
Раскладка кухни, которую можно закупить и смонтировать: каждый модуль привязан к реальному коду каталога и совместимой фасадной схеме, а не к абстрактной геометрической фигуре.
Формальная проверка «запрошено = посчитано» по каждому параметру плана вместо ручной сверки, с явным указанием расхождения там, где оно есть, и объективный выбор из нескольких вариантов раскладки по единым критериям вместо решения «на глаз».
3D-визуализация кухни в браузере и опциональная фотореалистичная картинка, которая автоматически проверяется на соответствие рассчитанному плану.
Приём заявки в свободной форме — текстом или голосом — без обязательного ручного заполнения формы, с устойчивостью к недоступности внешней языковой модели.
Ядро — расчёт раскладки, оценка вариантов, валидация и 3D-визуализация — реализовано и используется; часть сценариев, например композиция верхнего ряда шкафов для нестандартных случаев, отмечена как рабочая, но требующая доработки.
Где можно использовать
Концепция «сначала посчитать раскладку по реальному каталогу с жёсткими ограничениями, потом визуализировать» подходит не только для кухонь, а для любой модульной мебели — например, для шкафов-купе, гардеробных систем и другой корпусной мебели, где важна физическая собираемость из каталога.
Подходит для мебельных компаний, которые хотят автоматизировать подбор кухни под помещение и снизить объём ручной сверки дизайнером, а также как инструмент продажи: 3D-визуализация и фотореалистичный рендер, привязанные к проверенному плану, помогают показать клиенту проект до заказа.
Разделение ответственности между ИИ и детерминированным кодом (модели — на входе и выходе, точный расчёт — в середине) можно применять в других задачах, где генеративная модель работает с данными, критичными по точности.
Нужен подбор кухни по размерам?
Покажу, как работает автоподбор и 3D-сборка на реальных размерах помещения.
Ещё в портфолио
KILLOOS
Интеллектуальная система бизнес-аналитики, переводит данные в управленческие решения и предупреждает риски до потерь.
Подробнее →Vizgen
Визуальный редактор для работы с контентом: генерация карточек товара, визуализация и апскейл — доставляется через REST API.
Подробнее →Georeis
Диспетчеризация доставки и приложение водителя: маршрут по фото путевого листа → оптимизированный план на день.
Подробнее →Geo101
Приложение для активных путешественников: GPX-маршруты и офлайн-навигация для трейла, эндуро и пешего туризма.
Подробнее →Driver.Georeis
Приложение для водителей Georeis: распознаёт адреса с фото путевого листа, сверяет по адресной базе и строит порядок объезда с расчётом времени прибытия.
Подробнее →OpenSEO
Генерация SEO-статей по заданной структуре — с очеловечиванием стиля и независимой валидацией результата перед публикацией.
Подробнее →DeviceHub
Единый сервис метрик для физических устройств на столе: тянет данные сразу из нескольких продуктов и отдаёт готовые экраны без перепрошивки.
Подробнее →Rilso
Рабочее место для упаковки рилсов: из сырого видео — превью, транскрипт, вшитые субтитры, обложка, текст публикации, хэштеги и архив на экспорт.
Подробнее →Лабсервер
Собственный GPU-сервер для тестирования моделей, подбора параметров и сборки MVP в закрытом контуре — без выхода данных наружу.
Подробнее →