Цвет берётся пипеткой — жми по квадратику, потом тыкай в картинку. Автоприкидка ошибается на редких цветах, проверяй глазами.
Нижний слой заливается сплошным силуэтом в этом цвете, остальные краски ложатся сверху. Так между фигурами не бывает светлых волосков.
Каждый цвет можно настроить отдельно. Пока горит «крутить все разом» — ползунок двигает все слои сразу; выключи, и правится только выбранный. Глаз гасит слой, «один» показывает его в одиночку — удобно доводить.
SVG пока не загружен. Можно и перетаскиванием в окно.
Отмеченного пока нет. Нажми «Нравится» — сохранится то, что сейчас на экране.
папка не указана
назад 0 · вперёд 0. Палитра берётся готовой из базы человеческих сочетаний — её тона не меняются. Движок только решает, какой цвет лёг на какую фигуру; если соседние краски выходят неразличимыми, берётся другая палитра, а не подкрашивается эта.
Что программа поняла про картинку. Сверь с тем, что видишь: разошлось — значит ошибка замера.
роль
ткань — по всему краю холста, это футболка
крупная форма — от четверти холста
россыпь — шесть кусков и больше
тонкое — контур, штрих
мелочь — меньше 2%
%
Сколько краски реально видно. Закрытое сверху не в счёт.
пятна
На сколько несоединённых кусков разбита. Дырка внутри буквы — отдельное пятно, поэтому у сплошного на вид фона бывает «4».
светлота
0% чёрный, 100% белый.
чистота
Насколько цвет цветной: 0 — серый, 1 — предел экрана в этом тоне. Ось отдельная от светлоты: чёрный, белый и серый одинаково нули.
тактика
Замысел раскладки, а не «лучшая по формуле». По кругу: авто и пять именованных.
лесенка по площади — тон идёт ступенями от большого к малому
акцент на мелочи — правило 60‑30‑10: полю тихое, мелкому и дроблёному крик
свет идёт по картинке — тон ведётся слева направо, сверху вниз или по диагонали
контур держит — тонкому самое тёмное, как в печати
кричащее поле — наоборот, поле громкое, мелочь тихая
откат
Стрелки ← → отменяют и повторяют любое действие: рандом, перетасовку, похожую палитру, смену тактики, выбор плитки на листе. Глубина 10 в обе стороны.
нравится
Отмечает то, что на экране — включая цвета, оставшиеся под замками от прежней
схемы. Запись помнит и раскладку: какой цвет на какой краске стоял.
Метка говорит о
происхождении цветов, а не о том, сохранена ли запись — сохранены все.
1 палитра — все цвета взяты одной готовой палитрой. Смесь — в момент
отметки стояли замки, и на экране были краски из разных палитр. ×2 рядом с полоской — столько записей с
этими же цветами; отличаются они только тем, какой цвет на какой фигуре.
Копится файлом likes.json рядом с инструментом, переживает перезагрузку.
Кнопка справа переключает, откуда брать цвета: из всей базы или только из отмеченных.
замок
Клик по квадратику цвета в строке запирает краску: она остаётся, а остальные перекатываются. Палитра при этом ищется в базе — такая, где уже есть похожий цвет, — чтобы авторское сочетание не порвалось.
перетасовать
Та же палитра, другая раскладка по фигурам. Ни одного нового цвета, а вид меняется сильнее, чем от смены палитры.
похожую
Ближайшая палитра из базы: тот же характер, другой набор.
граница
С кем соприкасается, в долях своего периметра. Эти пары движок и разводит по различимости.
«К умолчанию» возвращает набор, зашитый в файл — тот, что подобран как рабочий. Накрученное при этом стирается, включая сохранённое между перезагрузками.
Сохраняет всё, чем настроена кривая: все ползунки и дрожание, по каждому слою отдельно. Палитра не сохраняется — она своя у каждой картинки.
Где лежат: …. Каждый набор — отдельный файл, можно открыть редактором, положить в резерв или передать. «В файл» выгружает все разом одним JSON.
Ставит все ползунки разом. Дальше можно докрутить руками — пресет просто отправная точка.
Тонкий язык краски у вершины клина не дотягивает до половины пикселя и обрывается — при том же угле на толстой фигуре он проходит. Здесь два порога, как в детекторе краёв: высокий начинает фигуру, низкий её продолжает. Слабый пиксель сам по себе ничего не рождает, но примыкая к своей же уверенной области — присоединяется. Ноль выключает. Больше — острия доходят дальше, но начинает лезть крапина.
Где именно проходит край. Ниже — фигуры толще, выше — тоньше. У верхнего слоя это ещё и подпуск: чуть опустил — краска заходит под соседнюю, и волоску между ними взяться неоткуда.
Ноль оставит всю крапину и весь шум. Больше — чище и легче, но текстура редеет.
Подгонкой — то же, что Smooth в иллюстраторе: кривая подгоняется по наименьшим квадратам с допуском, узлы ставятся только там, где без них не уложиться. Через узлы — кривая протаскивается ровно через прореженные точки. Первое ровнее и легче, второе точнее повторяет пиксели.
Одна крутилка на точность. Вправо — узлов больше, дуги перестают выглядеть многоугольником, кончики острее; влево — ровнее и легче. Ведёт «точность подгонки» и «допуск упрощения» разом, поэтому работает в обоих способах кривой. Замер на медведе: 50 → ошибка формы 0.317 и 196 КБ, 75 → 0.302 и 239 КБ, 88 → 0.294 и 301 КБ, 100 → 0.292 и 553 КБ. За 88 точность почти не растёт, а вес удваивается.
Тот самый коридор: насколько далеко кривой позволено отойти от ломаной. Не влезла — кусок делится пополам и подгоняется заново, поэтому узлы появляются только там, где иначе не уложиться. Меньше — точнее форма и больше узлов, больше — ровнее и легче. Шаг мелкий: рабочая область здесь 0.01–0.2, а не единицы.
Дрожь края гасится ДО подгонки — ровно то, что делает протаскивание инструментом Smooth. Углы не трогаются.
Насколько кривой позволено отходить от настоящего края. Меньше — точнее и тяжелее.
Общая округлость. Ноль — ломаная из прямых отрезков, всё жёсткое.
Дрожь по стыкам — плата за выкрученную детализацию: контур идёт по каждой ступеньке сетки, а у двух соседних красок ступеньки в разных местах. Вершины подтягиваются к середине между соседями: движение поперёк ступеньки, вдоль линии форма не едет. Концы цепочек не двигаются — это стыки, иначе разъедутся общие границы.
Сколько раз повторить. Больше — глаже, но начнёт срезать мелочь: когти, кончики усов.
Насколько далеко ручке Безье позволено уходить от узла — долей от длины ребра. Именно она раздувает острый кончик в шарик: убавь до 0.15–0.2, и кончики станут колючими.
Замер на коте, всё прочее одинаково: наша мерка по повороту (135°) — 19 изломов резче 15° и 2470 узлов; potrace при 0.4 — 5 изломов и 2332 узла. Потому по умолчанию potrace.
Ноль — сплошной полигон, больше — меньше углов. ⚠️ Рабочая область у нас 0.1–0.5, а не 0–1.334, как у potrace. У них полигон оптимальный, звенья длинные, отклонение доходит до четырёх; у нас контур прорежен мелко, и уже с 0.8 углов не остаётся вовсе — замер даёт побайтово одинаковый результат при 0.8, 1.0, 1.2 и 1.334.
Поворот резче этого объявляется углом: гладкость там рвётся, остриё остаётся острым. Рабочая область 110–150, замерено: при 40° выходит 922 жёстких излома на картинку, при 130° — 13. Ниже 100 ставить только если нужна нарочито гранёная форма.
Доля от толщины фигуры, а не пиксели. Толстый штрих получит крупное скругление, волосок — крошечное; поэтому одно значение работает на любом масштабе. 0.07 значит «скруглить на 7% собственной толщины». Ноль выключает и ускоряет пересчёт втрое.
Коротким рёбрам сглаживание запрещено. Это и держит крапину и мелкие зубцы, а не превращает их в капли.
Ноль — выключено. Дрожит сама геометрия, а не картинка поверх: искажение уезжает в SVG и держится на любом увеличении.
Длина волны. Мелкая — мелкая рябь по краю, крупная — форму ведёт целиком.
Слои — сколько разных масштабов подмешать (один = чистая волна, четыре = живая неровность). Резкость — насколько слышны мелкие.
Шум подаётся в собственные координаты — рябь перестаёт быть равномерной, появляются потёки и завитки.
Очень пологая волна поперёк края: прямые перестают быть прямыми, как у руки. Из Rough.js — именно это читается как «рисовано», а не «зашумлено».
Поперёк — фигура то толстеет, то худеет, край остаётся связным. Вдоль — край ползёт сам по себе. Куда попало — свободное блуждание.
До — трясётся сырой контур, и сглаживание потом его причёсывает: мелкая дрожь частично съедается допуском, форма выходит слитной. После — сначала строится чистая гладкая кривая, а ведёт её уже целиком, вместе с ручками Безье; дрожь сохраняется как задана и узлов не прибавляется.
Как Smooth/Corner в иллюстраторе: плавное течёт, рваное дёргает точки поодиночке и даёт колючий край.
Острия — на резких поворотах дрожание придерживается, иначе кончики усов разлетаются. Мелочь — крапину трясёт слабее, чем крупную фигуру, иначе её рвёт в клочья. Своя фаза расцепляет слой с остальными: по умолчанию все дрожат согласованно, поэтому общие стыки не расходятся.
Колесо и щипок двумя пальцами — зум под курсором, перетаскивание — сдвиг. Пробел переключает исходник и вектор. Вектор настоящий, на любом увеличении край резкий — на этом и смотри мелочь.
⚠️ Счёт на увеличенной сетке даёт более точный край: в вершине угла и на тонком штрихе доля краски на пикселе решается не «на глазок», а на вчетверо более мелкой сетке. Платим временем — пикселей вчетверо больше. Уменьшённый прогон, наоборот, считается быстрее, но края берутся с уменьшенной копии.
| размер | — |
| слоёв | — |
| фигур | — |
| узлов | — |
| вес SVG | — |
| счёт | — |
краска —