Repolode
jonobr1

jonobr1/two.js

API для 2D-графики в вебе, не привязанный к конкретному рендереру: одна и та же сцена отображается через WebGL, Canvas 2D или SVG.

Звёзды
8,699
Форки
469
Открытые issues
31
Последний коммит
5 дней назад

Что это?

Two.js — библиотека JavaScript для создания двумерной графики в современных браузерах. Описывайте фигуры, текст и группы через единый API, а затем отображайте одну и ту же сцену через WebGL, Canvas 2D или SVG, не меняя код отрисовки.

В основе библиотеки лежит scenegraph: объекты можно объединять в группы, трансформировать и анимировать с помощью цикла обновления на каждом кадре. Библиотеку можно подключить через минифицированную сборку в теге script, установить из npm или импортировать как ES6-модули в проектах со сборщиком, например React или webpack.

Two.js можно запускать и без графического интерфейса в Node.js, подключив пакет node-canvas. Это позволяет отрисовать сцену и сохранить её на сервере в файл PNG.

Ключевые возможности

  • 01Отображает одну и ту же сцену через WebGL, Canvas 2D или SVG.
  • 02Предоставляет scenegraph с группами, трансформациями и обновлением на каждом кадре.
  • 03Доступна в виде сборки для тега script, пакета npm и ES6-модулей.
  • 04Поддерживает рендеринг без графического интерфейса в Node.js через node-canvas.
  • 05Позволяет создавать собственные сборки только с нужными рендерерами.

Сценарии использования

  • Создание интерактивной 2D-анимации и моушн-графики для веба.
  • Создание векторных иллюстраций с возможностью переключаться между SVG и выводом на canvas.
  • Генерация PNG-изображений 2D-сцен на сервере.
  • Добавление лёгкой 2D-графики в React и другие фронтенд-приложения со сборщиком.

Быстрый старт

  1. 1

    Установите через npm

    npm install --save two.js
  2. 2

    Подключите минифицированную библиотеку в HTML

    <script src="js/two.min.js"></script>

Что важно знать

  • При импорте всей библиотеки загружаются все модули, поэтому tree shaking пока не поддерживается.

Темы

#2d-graphics#canvas#svg#webgl#animation#scenegraph#javascript#vector-graphics#2d#bitmap-graphics

Частые вопросы

Что такое two.js?
API для 2D-графики в вебе, не привязанный к конкретному рендереру: одна и та же сцена отображается через WebGL, Canvas 2D или SVG. Two.js — библиотека JavaScript для создания двумерной графики в современных браузерах. Описывайте фигуры, текст и группы через единый API, а затем отображайте одну и ту же сцену через WebGL, Canvas 2D или SVG, не меняя код отрисовки.
two.js можно использовать бесплатно? Какая у него лицензия?
two.js распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
two.js всё ещё поддерживается?
Активно поддерживается. Последний коммит в two.js — 3 нояб. 2026 г..
Для чего можно использовать two.js?
Создание интерактивной 2D-анимации и моушн-графики для веба. Создание векторных иллюстраций с возможностью переключаться между SVG и выводом на canvas. Генерация PNG-изображений 2D-сцен на сервере. Добавление лёгкой 2D-графики в React и другие фронтенд-приложения со сборщиком.
Как установить two.js?
Установите через npm: npm install --save two.js Подключите минифицированную библиотеку в HTML: <script src="js/two.min.js"></script>
Где скачать two.js?
Исходный код и инструкции по установке — на GitHub: https://github.com/jonobr1/two.js

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Бесплатный редактор векторной и растровой 2D-графики с открытым исходным кодом, построенный на процедурном движке с нодами; сейчас находится в альфа-версии.

27,9 тыс.+67 за неделю1,3 тыс.RustApache-2.0Обновлён 23 часа назад

Лёгкая библиотека на TypeScript с минимумом зависимостей для создания настраиваемой анимации частиц, конфетти и фейерверков в браузере; доступны обёртки для популярных фреймворков.

9,1 тыс.+15 за неделю956TypeScriptMITОбновлён 21 час назад

Бесплатная программа с открытым исходным кодом для 2D-анимации векторной и растровой графики без покадровой отрисовки; работает в Windows, Linux и macOS.

2,4 тыс.+32 за неделю454C++GPL-3.0Активно поддерживаетсяОбновлён 6 дней назад