Контракт модуля
CONSUMES
PROVIDES
DEFERRED INPUTS
Эти метрики принадлежат другим модулям и здесь не вычисляются.
Классификация
Нормализация угла
HEURISTIC Начальный tau_axis = 3°. Для ручного стиля допускается 5–7°. Для строгой сеточной системы — 1–2°.
Не путать классификацию и snap
Линия может быть классифицирована как H при ошибке 2.4°, но ещё не обязана быть выровнена в 0°. Snap — отдельное решение.
или 180° после нормализации направления.
строгое направление по Y.
HEURISTIC
для role=axis, subrole=grid, rigidity=hard.
Snap к оси
Hard snap
Применяется, если сама роль требует строгости.
Это геометрическая операция. После неё снова вычисляется длина через Compo 2.01.
Soft snap
Для декоративной или связующей линии алгоритм только предлагает коррекцию.
STYLE_PRESET k не универсален.
role, StylePreset и будущий global score.Размещение в поле
Горизонталь
Набор — не «правильные места», а стартовые кандидаты.
Вертикаль
Финальный выбор зависит от занятости поля.
Свободное пространство
HEURISTIC стартовый minFreeRatio = 0.85.
| Role | Preferred placement | Edge relation | Notes |
|---|---|---|---|
| divider | между двумя occupancy-зонами | может доходить до safe bounds | должен реально разделять, а не случайно пересекать объекты |
| baseline | по нижней/верхней границе текстового блока | обычно внутри safe area | подчинён типографике |
| axis | через центр группы/объекта | может выходить за объект | длина определяется системой якорей |
| accent / decorative subrole | в свободной зоне | может намеренно обрезаться краем | только если это STYLE_PRESET |
Span передан Compo 2.07
2.02 владеет
2.02 только читает
spatialSpanClass из 2.07.Математические примеры
role=axis, subrole=grid, rigidity=hard, предложение становится hard constraint.axisClass=NONE и не исправляет её.Локальный scoring
Собственные метрики Compo 2.02
Только эти локальные метрики принадлежат модулю.
Не вычислять здесь
Они лишь могут участвовать в финальном выборе кандидата позже.
Context interactions
| Другой модуль | Может изменить | Правило |
|---|---|---|
| Grid / Compo 8–10 future | координату линии | может притянуть axis-line к реальной колонке/ряду |
| Negative space / future | позицию и длину | может укоротить линию, если она дробит спокойную пустоту |
| Hierarchy / future | толщину/контраст через Compo 2.06+ | не позволяет служебной оси стать доминантой |
| Typography / future | baseline и endpoints | текстовый блок имеет право диктовать положение линии |
| Image crop / future | edge relation | линия может стать швом/маской и намеренно доходить до bleed |