Ядро Monge
Собственное точное ядро B-Rep на Rust: что оно умеет, как мы его проверяем и чего пока не умеет.
Что это
Ядро — часть программы, которая считает геометрию. В Monge оно своё: написано с нуля на Rust и хранит модель как точные поверхности и рёбра (B-Rep), а не как сетку треугольников. Поэтому из модели получаются чертёж, развёртка и STEP без потери точности.
Код ядра закрыт, все права защищены. Кода других геометрических ядер в Monge нет; из сторонних библиотек ядро использует только сериализацию и журнал событий. Программа вокруг ядра опирается на открытые библиотеки с лицензиями MIT, Apache и BSD — их полный список выйдет вместе с программой.
Что умеет
- Тела
- Выдавливание, вращение, вырезы, массивы, протяжка и трубы по пространственному пути, лист с гибами и развёртками.
- Поверхности
- Плоскость, цилиндр, конус, сфера, тор, NURBS; лофт, заплатки Кунса, поверхность Гордона по сети кривых, сшивка сотен листов в тело.
- Операции
- Точные булевы операции изогнутых тел, скругления катящимся шаром, фаски, оболочки, утолщение, точное зеркало, прямая правка граней.
- Параметрика
- История построения, размеры на модели, перестроение детали в том же теле с одной отменой.
- Обмен
- STEP AP214 с точной геометрией — запись и чтение; DXF, SVG и PDF для чертежей и ЧПУ; STL, OBJ, glTF.
- Проверка тела
- Каждое тело проверяется до принятия: замкнутость, ориентация, топология, сетка.
Протокол испытаний ядра
Цифры экзамена ядра 25.10.2026 и ежедневной полной проверки. Машина — MacBook Air M4, 24 ГБ. Где ядро пока не справляется, так и пишем.
1 130тестов проходят при каждой правке; упало 0, вся проверка — 112 с
173ошибки ядра из реальной работы исправлены и повторяются при каждой проверке
76случаев ещё открыты: 55 — скругления и фаски, 19 — булевы операции
- Плита 400×400×10 с 1024 отверстиями Ø5 — 1030 гранейпройдено
Построение и правка всех отверстий Ø5 → Ø6, тело без ошибок
Время: 674 / 681 мсПамять: 674 МБ
- Сшивка 216 криволинейных NURBS-поверхностей в телопройдено
Построение и сшивка; зазор 2·10⁻¹³ мм, открытых рёбер нет
Время: 470 + 500 мсПамять: 142 МБ
- Корпус лодки 6 м по 25 сечениямпройдено
Гладкая поверхность построена (на прежней версии — отказ)
Время: 1,8–2,1 с
- Перестроение истории детали после смены размеровпройдено
Все 7 шагов пересчитаны, объём верный
Время: 67 мс
- STEP AP214: запись и чтениепройдено
Грани, рёбра, вершины и объём совпадают с исходными
- Булева операция на литом диске (562 грани)пройдено
Тело без ошибок
Время: 200–700 мс
- ИИ строит деталь по описаниюпройдено
21 команда; один отказ ядра — ИИ исправил сам
- Фаска по всем рёбрам поверх скругленийне пройдено
Пока отказ — в работе
Испытания на точной геометрии; тяжёлые — отдельными процессами с лимитом 600 с и замером пика памяти. Экзамен — Monge 0.15.4, полная проверка — 0.15.20.
Память ошибок
Каждая неудачная операция ядра сохраняется сама — с точными входными телами и параметрами — и становится тестом. Исправленная ошибка повторяется при каждой проверке и поэтому не возвращается. Исправлено и охраняется: 173. Открыто: 76 — из них 55 скругления и фаски, 19 булевы операции.
Чего ядро пока не умеет
- Фаска по всем рёбрам поверх уже скруглённых — отказ.
- Угол, где сходятся три скруглённых ребра на кривой грани, и часть стыков скруглённого ребра с острым.
- Утолщение поверхности с острым изломом, как у скулы корпуса лодки.
- Тяжёлые модели занимают много памяти: 0,7–2 ГБ.
- Сфера из палитры пока гранёная — булевы операции с ней не строятся.
Как мы проверяем
Полная проверка — после каждой правки ядра: все тесты ядра, документа, материалов и сохранённых ошибок. Последняя — 28.10.2026: 1 130 тестов, упало 0, 112 с.
Экзамены — отдельными процессами с лимитом 600 с и замером пика памяти, на точной геометрии; сетка нужна только для показа.
Машина — MacBook Air M4, 24 ГБ.
Запишитесь в бету
Оставьте имя и email — напишем, когда откроем закрытую бету. Пишем только по делу: бета и крупные обновления.
Или напишите напрямую