Primitives-Library-First: когда brand-эксплорация становится design-system
Первый batch любого generative-identity-проекта — эксплоративный: одна прямая попытка на референс-стиль, без общих абстракций. Когда дизайнер сигналит «вот эти 20 нравятся — давай глубже», появляется развилка:
- Продолжать вариант-за-вариантом — писать ещё one-offs в той же рыхлой манере. Линейные усилия, без compound-эффекта.
- Переключиться на primitives-first — вытащить повторяющиеся техники из фаворитов, оформить их как библиотеку примитивов и собирать следующий batch поверх библиотеки.
Второй путь — это момент, в который brand-эксплорация становится design system.
Когда применять
- Первый эксплоративный batch отгружен, пользователь выбрал фавориты и хочет 30+ ещё на более высоком качестве.
- Несколько фаворитов делят одну подспудную технику (boolean union, slice cut, paired capsules) — есть реальная абстракция, которую стоит вытащить.
- Бриф просит широту, а не схождение к одному направлению.
Механизм
- Прочитать фавориты на технику. Группировать по тому, что реально делает работу: boolean union, slice, capsule-pierce, mixed-typeface и т. д. Каждая повторяющаяся техника — кандидат в примитив.
- Вытащить примитивы. Каждый — чистая функция над SVG-путями, параметризованная минимально: начать с 2–4 ручек, расширять только когда реальная композиция требует.
- Расширить токены. Только mono — норма для batch 1; batch 2 хочет полную палитру. Добавить 6–8 цветовых токенов. Варианты отгружаются и в mono, и в цвете.
- Композировать поверх. Новые варианты — это короткие скрипты, вызывающие примитивы. Файл варианта должен читаться за 10 секунд.
- Сохранить design record. Эксплоративный batch не удаляется. Старые варианты остаются в
out/; новые ложатся рядом с явным naming-конвеншеном (например,batch-2/).
Почему это важно
Библиотека примитивов — разница между «отгружать ещё лого» и «отгружать систему». В следующий раз, когда бренду понадобится sub-mark, анимированный lockup, packaging-вариант или сестринский бренд, библиотека — стартовая точка, а не 125 разрозненных SVG-файлов.
Пример — второй batch на реальной эксплорации
После 78 вариантов в первом batch дизайнер выбрал 20 фаворитов и структурно отредактировал их: boolean unions сконсолидировали сложные композиции в один path, добавились декорации, вручную родился новый концепт монограммы (serif-глиф с двумя slash-капсулами, проходящими горизонтально).
Пивот: перестать генерировать ещё one-offs. Сначала построить design-system.
- 6–8 цветовых токенов (hot pink, orange, neon green, electric blue, yellow, violet, black, cream).
- Примитивы, вытащенные из фаворитов: blob-merge, slice, capsule-pierce, mixed-typeface, monogram-with-capsules и др.
- 30 новых лого как композиции на библиотеке примитивов.
Здесь начинается кумулятивный эффект. 79-й лого стоит меньше, чем 78-й. 100-й — ещё меньше.
Pitfalls
- Премэйчер-библиотека. Вытаскивать примитивы из batch 1 до сигнала пользователя — та же ошибка, что и преждевременная абстракция в коде. Ждать «эти нравятся».
- Слишком жёсткая библиотека. Примитивы, параметризованные слишком плотно, дают только вариации фаворитов и промахиваются мимо следующего направления. Оставьте одну-две ручки, позволяющие композиции намеренно неправильно использовать примитив.
- Нет record'а. Перезапись batch 1 серией 2 уничтожает сравнение, ради которого дизайнер и принимает решение. Сохраняйте оба.
Идёт в паре с
- programmatic-identity-generation — методология, поверх которой это сидит.
- generative-logo-design — конкретная design-system, дошедшая до этой развилки.