Словарь

Одно понятие — одно название. Глоссарий хранится данными и попадает в 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».