320 иконок, у которых разрез контура задан данными, а не вырезан в геометрии. Отсюда анимация самоотрисовки, четыре плотности разрезов и сплошной режим — из одного источника, без второго комплекта файлов.
как это устроено
Каждому штриху даётся pathLength=100, а разрывы описываются парами «начало и ширина»
в процентах от длины контура. Подвинуть разрез или убрать его — правка одного числа, а не перерисовка
пути. Из этой же записи получается и анимация: она рисует контур, а разрезы остаются на месте.
"bell": [
p("M6 8a6 6 0 1 1 12 0c0 4 1.5 5 2 6H4c.5-1 2-2 2-6Z",
[[14,10],[60,10]]),
p("M10 19a2 2 0 0 0 4 0", null, { accent: true }),
]
четыре плотности
Одни и те же данные читаются четырьмя способами: без акцента и с ним, с одним разрезом и со всеми. Плюс сплошной режим — для случаев, где разрывы мешают, например у мелких статусных значков.
толщина
Толщина штриха следует за размером по степенному закону, а не пропорционально: увеличенная вчетверо
иконка не превращается в жирный чертёж. Нужен ровный волосок на любом размере — есть
absoluteStroke.
чего нет у других
Дудук, ханг, баян, варган, гусли, диджериду — нарисованы тем же штрихом и с теми же разрезами, что и стрелки с папками. Плюс роли: продюсер, звукорежиссёр, дирижёр, битмейкер.
для агентов
Интерфейс всё чаще пишет ИИ-агент и выбирает иконку по имени — так и появляется trash
там, где по смыслу archive. У каждого из 320 глифов записано, для чего он,
с чем его путают и что взять вместо. Теги для поиска есть у всех наборов; руководства по выбору — нет
ни у одного.
Отдаётся как llms.txt и
icons.json, а в коде — экспортом META из
@tacet/core.
весь набор
Поиск понимает синонимы на двух языках: «удалить» находит trash, «success» —
check-circle, «баян» — bayan. Клик копирует готовую строку JSX.