Словарь
Одно понятие — одно название. Глоссарий хранится данными и попадает в
Markdown-проекции для агентов; запрещённые формы проверяет терм-линтер
в гейте pnpm test.
имена компонентов
В прозе — латиницей, как в поле name («Button», «Multi-select»); ссылка на сущность — id в бэктиках строчными (button). Транслит имён запрещён.
- Не писать «баттон» — писать «Button».
канон
Нормативная часть спецификации: имена, логика и поведение, единые для всех скинов и реализаций. Живёт как данные в src/lib/spec/data; страницы сайта и машинные форматы — проекции этих данных.
ось
Закрытый словарь значений компонента: variant — уровень в иерархии действия (accent | default | ghost), tone — окраска смысла, size — размер, state — состояние. Исторические имена productScope живут только как alias у значения оси.
паттерн
Тип знания: рецепт координации сущностей любого уровня («Форма», каркас экрана). Паттерн не образует отдельного уровня композиции.
практика
Сквозные правила поперёк компонентов: формы, контент, ошибки, иконки. Нормативный слой один — guidelines с уровнями must, must-not и should.
пропс
Публичное свойство компонента из props[] с закрытой schema. Во множественном числе — «пропсы».
- Не писать «проперти» — писать «пропс».
ревизия
SHA-256 канонического JSON сущности или артефакта в /release.json. Версия канона — semver в canon.js; опубликованная версия неизменна.
скин
Набор дельт компонентных токенов одного бренда поверх базы. Бренд-вариацию называем только скином; «тема» — про светлый и тёмный режим оболочки доков.
- Не писать «темизация» — писать «скин».
- Не писать «тема бренда» — писать «скин».
состояние
Позиция карты состояний компонента: idle | hover | pressed | focus-visible. Отсутствие состояния — тоже решение и фиксируется в statesNotes.
- Не писать «стейт» — писать «состояние».
тёмная тема
Режим оболочки доков ([data-theme="dark"]) и скинов, где он предусмотрен. Про бренд-вариации говорим «скин», не «тема».
- Не писать «дарк-мод» — писать «тёмная тема».
токен
CSS-переменная контракта (--sp-*, --c-*, --button-*). Истина значений — CSS-слои в src/styles; /tokens.json — их DTCG-проекция.
уровни композиции
примитив → юнит → компонент → структура. Примитив — визуальное основание без собственной пользовательской задачи; юнит — одно действие, значение или состояние; компонент — несколько юнитов решают локальную задачу; структура — компоненты образуют сценарий или каркас экрана.
экран
Документ формата 42-screen/1: композиция из паттернов и компонентов канона с данными продукта. Произвольный CSS, пиксели и цвета в документ не входят.
productScope
Визуальный слой конкретного бренда: значения компонентных токенов, которые скин задаёт поверх контракта канона. Матрица покрытия «юнит или компонент × скин» — /scope.json.
Studio 42
Инструмент сборки экранов из готовых сущностей канона: бриф, твики показа, адресные правки. Пишется латиницей: Studio 42.
- Не писать «студия 42» — писать «Studio 42».