Что машина считает линией
00 / object modelSEGMENT
Отрезок между двумя точками. Минимальная вычислимая линия.
POLYLINE
Последовательность сегментов с общей топологией.
CURVE / PATH
Кривая, у которой направление определяется касательной, а не одной общей осью.
Система ролей
01 / line taxonomy| Role | Назначение | Типичное поведение | Приоритет |
|---|---|---|---|
axis | структурная ось | прямая, длинная, привязана к сетке или объектам | structure |
divider | разделение областей | пересекает значительную часть поля, не должна выглядеть случайным штрихом | structure |
connector | связь объектов/узлов | имеет источник и цель, избегает лишних пересечений | semantic |
trajectory | направление взгляда/движения | ориентирована, может быть кривой или ломаной | flow |
frame | граница/контейнер | образует enclosure, часто замкнута или почти замкнута | structure |
baseline | выравнивание текста/объектов | служебная линия, чаще невидима в финальном рендере | layout |
accent | локальный визуальный удар | не обязана соединять объекты | visual |
rhythm | повтор / такт | серия линий с контролируемыми интервалами | visual |
texture | фон, штриховка, вычислительный шум | низкий приоритет, ограниченный контраст | background |
annotation | выноска/подпись | ведёт от объекта к тексту или маркеру | semantic |
role
Стабильная семантическая категория из таблицы выше. Новые локальные модули не создают собственные role-синонимы.
subrole
Уточняет контекст: grid, section, decorative, text, object и т. п.
rigidity
hard | soft | free. Отвечает за допустимость коррекций, а не за семантику линии.
grid_axis или divider_strict. Для этого существуют subrole и rigidity.Минимальный набор параметров
02 / canonical schemaНачало и конец path. Для polyline/curve это граничные точки всей траектории.
Каноническая длина пути в px / shortN / diagN.
Начальное и конечное направление; для segment совпадает с unit vector.
Пространственный охват path, отдельный от длины пути.
Толщина как доля min(W,H).
Контраст приходит от своего владельца; здесь только ссылка/вход.
Прозрачность как независимый параметр.
Порядок перекрытия относительно объектов и текста.
LinePathGeometry. Все последующие line-модули потребляют этот интерфейс и не обязаны знать, segment перед ними, curve или polyline.Направление ≠ абстракция
03 / movement vectorВектор линии
Линия создаёт предпочтительное направление чтения. Для машины это фиксируется вектором и затем сравнивается с другими направлениями сцены.
Кривая линия
Кривую нельзя оценивать одним углом. Она задаёт последовательность локальных направлений.
eye_flow_score принадлежит будущему модулю движения взгляда. Compo 2.00 только экспортирует геометрические направления, но не объявляет их «хорошими» или «плохими» глобально.Машинно различимые примеры
04 / visual labHard и soft правила
05 / constraint classesHARD CONSTRAINTS
length > ε; нулевая линия запрещена.widthN > 0для видимой линии.connectorобязан иметь валидные source/target или явные anchors.- Служебная
baselineне рендерится, еслиvisibility=construction. - Недопустимое пересечение protected-zone должно быть reject или repair, а не игнорирование.
SOFT CONSTRAINTS
- избегать почти параллельных линий с малым случайным углом;
- избегать случайных касаний с объектами;
- ограничивать контраст texture/rhythm-линий;
- предпочитать осмысленные endpoints;
- снижать число пересечений connector-линий.
Последовательность работы
06 / local pipelineMetric ownership
07 / no double counting| Metric | Owner | Compo 2.00 action |
|---|---|---|
line_visual_weight | Compo 2.06 | DEFERRED |
axis_class / diagonal_class | Compo 2.02 / 2.03 | DEFERRED |
path geometry | Compo 2.01 / 2.04 / 2.05 | canonical interface only |
line_collision | Compo 2.10+ | geometry export only |
rhythm_score | future Compo 2.xx | DEFERRED |
eye_flow_score | global eye-flow module | DEFERRED |
global_balance_score | global balance module | DEFERRED |
Карта Compo 2.xx
08 / canonical decomposition 2.00–2.232.01
Геометрия линии: начало, конец, длина и угол.
2.02
Горизонтальные и вертикальные линии.
2.03
Диагональные линии и направление.
2.04
Кривые линии.
2.05
Ломаные и сегментированные линии.
2.06
Толщина линии и визуальный вес.
2.07
Длина пути, пространственный span и роль.
2.08
Линия как направляющая взгляда.
2.09
Линии между объектами.
2.10
Пересечения линий.
2.11
Касания линии и формы.
2.12
Параллельные линии и группы.
2.13
Линии и сетка.
2.14
Линия как граница и разделитель.
2.15
Декоративная и техническая линейная графика.
2.16
Цвет, тон и прозрачность линии.
2.17
Ритм линий и stroke-pattern.
2.18
Кривизна и напряжение линии.
2.19
Автоматический генератор линейной структуры.
2.20
Scoring линейной системы.
2.21
Тест-кейсы линейной системы.
2.22
Линия как маска, crop и визуальный шов.
2.23
Линия в глобальной композиции и context overrides.