# Гео-аудит модели под FDM — что проверяемо инструментами осмотра

Лёгкая самопроверка построенной модели **существующими** инструментами осмотра MCP. Запускать на
шаге 4 рабочего цикла (см. SKILL.md), перед чек-листом и экспортом.

## Что проверяемо

| Проверка | Как | Статус |
|---|---|---|
| Нависания (приближённо) | `list_faces`/`describe_face`: для **нижних** граней угол поверхности от вертикали; > `θ_max` → флаг | ✅ плоские; ⚠️ криволинейные грубо |
| Ориентация (геом. прокси) | `get_bounding_box`: как ось слоёв соотносится с габаритом | ⚠️ длинная ось ≠ путь нагрузки |
| Горизонтальные круглые отверстия | `describe_face`: цилиндр с горизонтальной осью → «нужен teardrop» | ✅ |
| Номиналы / зазоры / габариты | `measure` между гранями; `get_bounding_box` | ✅ |
| Тело / манифолд перед выдачей | `list_bodies` (одно тело?), `validate_part` | ✅ |

## Граница честности

- **Угол нависания** мерить в **той же конвенции, что fdm-rules.md** (от вертикали; нижняя грань с
  поверхностью > `θ_max` от вертикали = нависание) — не путать с углом нормали от горизонтали.
- **Путь нагрузки агент НЕ выводит из габарита** — берёт из задачи/опроса (правило 1). Длинная ось
  ≠ несущая.
- **Истинная мин. толщина стенки и полный детект криволинейных нависаний — не решаются** (нет
  thickness/overhang-солвера).
- **Аудит эвристический и НЕ доказывает печатнопригодность** (не ловит анизотропию/путь нагрузки).
  Вывод — список флагов для решения, не «приговор». Слайсер навык не зовёт намеренно.

## Как применять в цикле

1. После построения и `validate_part` — пройти таблицу выше сверху вниз.
2. Каждый флаг — сверить с соответствующим правилом `fdm-rules.md` и решить: исправить геометрию
   или принять осознанно.
3. Путь нагрузки и косметические грани взять из ответа пользователя (правило 1), не из габарита.
4. Затем — чек-лист печатнопригодности (SKILL.md) → экспорт через `export_step`.
