Показывает все дороги выбранного города на одной карте, используя данные OpenStreetMap прямо в браузере.
enpts/sho
Браузерный движок каллиграфии кистью, который рисует штрихи по спискам точек, имитируя щетину, чернила и сухую кисть.
- Звёзды
- 12
- Форки
- 0
- Открытые issues
- 0
- Последний коммит
- позавчера
Что это?
sho.js — движок каллиграфии кистью на JavaScript, работающий в браузере. Каждый штрих задаётся списком точек: для каждой можно указать положение, нажим, угол кисти, скорость и паузу. Движок выводит штрихи по очереди на холст с текстурой бумаги.
Движок имитирует физические свойства кисти: отдельные щетинки, постепенное иссякание чернил вдоль штриха, полосы сухой кисти при высокой скорости, скопление чернил там, где кисть задерживается, и растекание бледных чернил. Такие приёмы, как крючки и размашистые линии, получаются за счёт расположения точек, а не отдельных пресетов. Результат детерминирован: одни и те же данные и настройки всегда дают одно и то же изображение.
Движок рассчитан на постепенную подачу данных, поэтому строки, сгенерированные LLM, можно рисовать по мере их поступления. Пакет состоит из одного скрипта и изображения бумаги, не имеет зависимостей и загружается как глобальный объект Sho. В комплект входят демо-страница и примеры системных промптов.
Ключевые возможности
- 01Штрихи задаются списками точек с нажимом, углом, скоростью и паузой.
- 02Имитирует щетинки, расход чернил, полосы сухой кисти и скопление чернил.
- 03Два стиля растекания бледных чернил: капиллярный и кольцевой.
- 04Детерминированная отрисовка по координатам штрихов — с анимацией или мгновенно.
- 05Поддержка потоковой обработки вывода LLM через StreamParser.
- 06Без зависимостей: один скрипт и одно изображение бумаги.
Сценарии использования
- Анимация рукописной каллиграфии на веб-странице или в демо.
- Эксперименты с визуализацией того, как LLM выводит символы или слова кистью.
- Создание детерминированных изображений каллиграфии для экспорта в PNG.
- Изучение способов приближённо моделировать физику кисти с помощью кода для canvas.
Быстрый старт
- 1
Скопируйте sho.js и paper.webp в одну папку
- 2
Подключите скрипт на HTML-странице
<script src="sho.js"></script> - 3
Создайте движок на canvas и добавьте штрих в очередь
const engine = new Sho.Engine(document.getElementById('paper'), { pxPerUnit: 1 });
Что важно знать
- Пакета npm и сборки в виде ES-модуля нет; скрипт подключается как обычный.
- Протестировано только в Chrome; нужен браузер с поддержкой canvas и DOM.
- Проект находится на ранней стадии: у него мало звёзд (9) и небольшое сообщество.
Темы
Частые вопросы
- Что такое sho?
- Браузерный движок каллиграфии кистью, который рисует штрихи по спискам точек, имитируя щетину, чернила и сухую кисть. sho.js — движок каллиграфии кистью на JavaScript, работающий в браузере. Каждый штрих задаётся списком точек: для каждой можно указать положение, нажим, угол кисти, скорость и паузу. Движок выводит штрихи по очереди на холст с текстурой бумаги.
- sho можно использовать бесплатно? Какая у него лицензия?
- sho распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- sho всё ещё поддерживается?
- Активно поддерживается. Последний коммит в sho — 5 нояб. 2026 г..
- Для чего можно использовать sho?
- Анимация рукописной каллиграфии на веб-странице или в демо. Эксперименты с визуализацией того, как LLM выводит символы или слова кистью. Создание детерминированных изображений каллиграфии для экспорта в PNG. Изучение способов приближённо моделировать физику кисти с помощью кода для canvas.
- Как установить sho?
- Скопируйте sho.js и paper.webp в одну папку Подключите скрипт на HTML-странице: <script src="sho.js"></script> Создайте движок на canvas и добавьте штрих в очередь: const engine = new Sho.Engine(document.getElementById('paper'), { pxPerUnit: 1 });
- Где скачать sho?
- Исходный код и инструкции по установке — на GitHub: https://github.com/enpts/sho
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Браузерный генератор бесконечных орнаментальных буквиц и украшенных инициалов, которые можно изучать, добавлять в закладки и скачивать.
Навык для AI-агентов, который превращает рецепты художественных стилей и грамматики обучающих видео в анимацию на коде — оживляя картины и схемы.
Скилл для Claude Code, который превращает промпт в короткую процедурную анимацию на canvas и рендерит её в MP4 с помощью headless-браузера и ffmpeg.
Генератор рисованных иллюстраций, зацикленных анимаций, фильмов и интерактивной веб-графики кодом в 32 стилях с неизменно одинаковым результатом.
Превращает любой шрифт в анимированный рукописный текст, который прорисовывается по штрихам, для React, Vue, Svelte, Solid, Astro и vanilla JS.