API-контракт
00 / consumes → providesCONSUMES
PROVIDES
DOES NOT OWN
Модуль использует их только как входные модификаторы или цели.
Нормализация толщины
01 / deterministic geometryФактическая толщина в пикселях.
Толщина относительно меньшей стороны холста.
Относительная «массивность» линии.
wN или через масштабируемый preset.Базовый визуальный вес
02 / intrinsic passBase weight
HEURISTIC MODEL Коэффициенты должны быть калибруемыми. Формула задаёт устойчивый каркас, а не универсальную психофизическую истину.
Почему длина участвует
При одинаковой толщине линия, занимающая 70% поля, создаёт больше визуальной массы, чем штрих длиной 5% поля.
Поэтому pathLengthFactor должен иметь saturation/clamp.
Measured ≠ desired
02b / anti-circularityИзмеряем
Одинаковая физическая линия имеет один и тот же measured weight независимо от названия role.
Сравниваем с целью
Role влияет на желаемый диапазон, но не переписывает измерение.
Контекстный пересчёт
03 / second passПриходит из цвето-тонального модуля.
Насколько линия окружена свободным пространством.
Какую долю линии реально видно.
Насколько её окружение уже насыщено деталями.
Классы толщины
04 / candidate generationсеточная, конструкционная, фоновая.
annotation, connector, technical line.
divider, accent, visible trajectory.
линия становится самостоятельной массой.
Role → target weight
05 / role envelope| Role | Base target | Typical width class | Rule |
|---|---|---|---|
baseline | very low | XS | обычно construction-only; не конкурировать с текстом |
texture | low | XS–S | низкий contrast + высокая повторяемость |
annotation | low–mid | S | достаточно видима для связи, но не доминанта |
connector | mid | S–M | видимость зависит от длины и числа пересечений |
divider | mid | S–M | должен читать разделение, не становясь самостоятельным объектом без причины |
axis | low–mid | XS–M | зависит от visibility: construction или visible |
trajectory | mid–high | M | должна удерживать маршрут, но её вес проверяет eye-flow module |
accent | high | M–L+ | может стать локальной доминантой |
Визуальная лаборатория
06 / measurable exampleswN, низкий intrinsic mass.Подбор толщины по целевому весу
07 / inverse solverНе угадывать w
Если role/hierarchy задаёт целевой диапазон веса, solver должен подобрать толщину численно.
Corrective pass
Compo 2.06 предлагает width-correction, но не имеет права самостоятельно менять чужие параметры.
Собственные метрики
08 / ownershipOWNS
DEFERRED
Ни одна из этих метрик не должна дублироваться внутри Compo 2.06.
Context overrides
09 / dependency graph| Source module | Input | Effect on 2.06 |
|---|---|---|
| Color/Tone future | localContrast | модифицирует contextualWeight, но не baseWeight |
| Hierarchy future | targetWeightRange | задаёт цель, под которую 2.06 подбирает width |
| Intersection / tangency future | visibleFraction | уменьшает perceptual contribution |
| Negative-space future | isolationModifier | может повысить вес линии в пустой зоне |
| Texture/rhythm modules | crowdingModifier | уменьшает относительную заметность в плотном поле |