RU

Я строил не 3D‑мир, а базовый слой под ним: три узких места в браузерном 3D

Последние месяцы я делаю 3D‑мир, который работает прямо в браузере — на Three.js: сцена, персонажи, сеть. Самое неприятное в про…

Three.jsWebGLJavaScriptоптимизацияпроизводительностьшейдерырендерингбраузерный 3D
Habr
RU

Зачем быстрая реактивность за пределами DOM: ответы на вопросы и знакомство с Raph

Зачем ускорять реактивность, если всё упирается в DOM? Рассказываю об устройстве Raph/Nova и показываю, как одно ядро используется для DOM и Canvas.…

JavaScriptреактивностьRaphNovaCanvasWebGLпроизводительностьбенчмаркиуправление состояниемвизуализация данных
Habr
RU

Мой vault стал планетой: как я сделал 3D-граф знаний для Obsidian на Three.js

Встроенный граф Obsidian хорош ровно до момента, когда vault разрастается и превращается в клубок линий. Я решил сделать из базы знаний место, котор…

ObsidianCosmoGraphграф знаний3D-графThree.jsWebGLвизуализация данныхTypeScriptMarkdownopen source
Habr
RU

Пять месяцев на игровой движок, месяц на игру. Зачем я написал собственный движок на C

Пять месяцев назад я начал делать игровой движок Neotolis Engine на C17. Хотел глубже погрузиться в рендер и собрать для себя движок, с которым мне…

gamedevигровой движокCWebAssemblyWebGLOpenGLAI-агентыClaude CodeCodex
Habr
RU

Сложные сайты на вайбкоде: четыре лендинга, два пути к «дорогим» эффектам и 3D-логотип из спрайтов

TL;DR За последний год я собрал вайбкодингом не один десяток лендингов — для программ МФТИ, для своих проектов и на заказ. Разберу четыре самых пока…

вайбкодингWebGLThree.jsшейдерылендингClaude CodeфронтендGLSLанимацияAI-агенты
Habr
RU

P.S.Euclid — GeoGebra + Desmos + то, что сам хотел (Plane + Stereo, Euclid)

P.S.Euclid — это браузерное математическое приложение, в котором графики, динамическая геометрия и 3D-построения объединены в одной среде. В статье…

вайб кодингJavaScriptHTML5WebGLалгоритмыгеометрияматематическое моделированиевизуализация данныхразработка веб-приложений.
Habr
RU

Конвертируем цвета в JS со скоростью 6 миллиардов операций в секунду

В начале этого года я создал самую быструю JS-библиотеку для работы с цветом: парсинг различных форматов, конвертация в OKLAB/OKLCH, проверка попада…

JavaScriptWebGLGPUфрагментные шейдерыGLSLOKLCHпроизводительностьоптимизацияcanvascolordx
Habr
RU

Как устроен ГИГАХРУЩ: клеточный мир, WebGL-рейкастер и A-Life без движка

В прошлой статье про ГИГАХРУЩ мы показали игру как живой weird-проект: браузерный survival horror / ARPG без движка, ассетов и спокойной жизни. С те…

ГИГАХРУЩgamedevTypeScriptWebGLraycastingA-Lifeпроцедурная генерациябраузерная играсамосборMESH PASS