Код, интерфейсы и трафик без воды
lawebbox

CADBase: как устроена Open Source платформа для 3D-инженерии на Rust и WebGPU

По данным Хабра, CADBase — Open Source платформа для обмена инженерными 3D-моделями — наконец открыла все компоненты.

Максим Воронцов, Хардкорный бэкендер и девопс · обновлено 16 сентября 2026 г.

CADBase: как устроена Open Source платформа для 3D-инженерии на Rust и WebGPU

Релиз v0.3.2 переводит оставшиеся части под GNU AGPL v3.0 и PostgreSQL License. До этого в open source болталась только фронтенд-морда на Yew/WASM, открытая ещё в 2023-м. Для бэкендеров это редкий случай: CAD-индустрия выкладывает не маркетинговый репозиторий с пустым README, а рабочий стек на Actix-web, Diesel ORM и GraphQL API.

Стек без розовых очков

Сервер — Actix-web. Быстрый, не прожорливый. СУБД — PostgreSQL через Diesel ORM. Для внешних потребителей — GraphQL API. Клиент тоже на Rust, через Yew, компилируется в WebAssembly. Графика — WebGPU с автоматическим фоллбэком на WebGL2 через Three.js. Сборки крутятся даже на офисном ноуте с интегрированной видяхой. Никакого shader compile на лету, никаких костылей с ручной подгрузкой модулей — нормальная архитектура с просчитанным fallback.

WebGPU + WASM в одном флаконе для инженерного софта — штучный товар. Обычно CAD-вьюверы пишут на C++ и заворачивают в нативный бинарь. Тут вся тяжёлая работа уехала в браузер. Кто-то явно не захотел платить за лицензии и решил проблему напильником.

Что нового для тех, кто крутит модели

Встроенный вьювер расширил форматы: STEP, STL, GLTF, GLB, GCode, IFC теперь корректно отображаются в браузере. Двойной клик по точке полигональной сетки или траектории GCode автоматически переносит туда фокус камеры. Не надо вручную подгонять pivot point, когда сборка на 500 деталей и нужная шестерёнка прячется в углу.

Горячие клавиши переразложили по-человечески: T — вызов гизмо-манипулятора всего объекта. W/E/R — перемещение, поворот, масштабирование. 1/3/7/9/0 — ортогональные проекции: спереди, слева, сверху, зеркальный, изометрия. 2/4/6/8 или стрелки — дискретный поворот. 5 — переключение перспектива/ортогональный. Пробел — старт и пауза анимации для GLTF/GLB и GCode.

Зачем это вашему бэкенду

CADBase позиционируется как альтернатива закрытым PDM/PLM-системам. Self-hosted библиотека, корпоративный архив или on-premise на серверах конструкторского бюро. Шанс уйти от GrabCAD (SaaS Stratasys, Workbench уже закрыт) или монолитов типа 3DFindit и TraceParts, где доступа к коду нет в принципе.

Практический угол: GraphQL API плюс WASM-клиент — готовый референс того, как выкатить тяжёлое инженерное ПО в браузер без десктопного приложения. Понадобилось показать заказчику 3D-модель прямо на лендинге — вот рабочий пример стека, прошедший продакшн.

Перед тем как тащить в прод, проверьте: reverse proxy не должен отдавать WASM с кривым MIME-типом, иначе браузер просто откажется его исполнять. Бэкап PostgreSQL никто не отменял.