Автор переписал старую canvas-библиотеку 3D как phoria2 на WebGL 2
На Show HN представлена phoria2, небольшая быстрая JavaScript-библиотека для 3D в вебе. Из заголовка поста следует, что автор заново собрал свою старую библиотеку 3D на canvas, теперь на рендерере WebGL 2. Страница проекта называет сферу применения: графики, сцены с подписями, дашборды и просмотрщики товаров. По заявлению страницы, API можно освоить за один вечер, а библиотека с самого начала задумана так, чтобы ею было удобно пользоваться и агентам, и людям.
Список возможностей: PBR-материалы (физически корректное освещение), инстансинг, точки, линии, подписи, выбор объектов (picking), тени, частицы и модели glTF.
В разделе о лёгкости сказано: у библиотеки нет зависимостей времени выполнения, она использует обычные ES-модули, а вид перерисовывается только тогда, когда что-то изменилось.
Отдельная черта, подсказки об ошибках. Каждая опция проверяется, а при ошибке библиотека возвращает сообщение с описанием исправления, как для человека, так и для кодингового агента.
Библиотека открыта, лицензия MIT. Установка: npm install phoria2; код, документация и пример для React лежат на GitHub. Название «Phoria» страница поясняет словарной статьёй: так называют относительное направление глаз при бинокулярной фиксации на объекте.
Ключевые факты
- phoria2, небольшая JavaScript-библиотека для 3D в вебе на рендерере WebGL 2; по заголовку Show HN, это переписанная автором старая canvas-библиотека.
- Заявленные сценарии: графики, сцены с подписями, дашборды и просмотрщики товаров; API, по словам страницы, осваивается за вечер.
- Возможности: PBR-материалы, инстансинг, точки, линии, подписи, picking, тени, частицы и модели glTF.
- Нет зависимостей времени выполнения, обычные ES-модули, отрисовка только при изменениях.
- Каждая опция проверяется, ошибка содержит подсказку по исправлению, для человека или кодингового агента; лицензия MIT, установка через npm.
Почему это важно
Библиотека интересна тем, что с самого начала рассчитана на работу и людей, и кодинговых агентов: ошибки в ней возвращаются вместе с описанием исправления, а не как невнятный сбой. Остальное, компактный набор для 3D в браузере на WebGL 2 без зависимостей времени выполнения.
Кому это важно
Веб-разработчикам, которым нужен лёгкий 3D для графиков, дашбордов, сцен с подписями и просмотрщиков товаров. Заметна и React-составляющая: в репозитории заявлен пример для React. Тем, кто пишет код с помощью агентов, может быть полезна проверка опций с понятными сообщениями об ошибках.
Как это применить
Установка: npm install phoria2. Код, документация и пример для React размещены на GitHub (прямая ссылка в тексте страницы не приведена). Лицензия MIT, то есть библиотеку можно использовать свободно с сохранением уведомления об авторстве.
Можно ли доверять
Все сведения взяты со страницы самого проекта, то есть это самоописание автора. Слова «быстрая», «лёгкая» и «API за вечер» ничем не подтверждены: бенчмарков и сравнения с другими библиотеками нет. История о переписывании старой canvas-библиотеки следует только из заголовка поста.
Риски и подводные камни
На странице не указаны номер версии, дата выпуска, поддержка браузеров, размер сборки и данные об использовании, так что зрелость проекта оценить по ней нельзя. Требуется поддержка WebGL 2 в среде выполнения. Перед использованием в продакшене стоит самостоятельно проверить производительность и стабильность.