RU

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

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

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

Переезд с Leaflet на MapLibre: детектив про один рывок и 251 маршрут, проверенный байт в байт

История начинается с самой неблагодарной формулировки бага, какая бывает: а какая именно, мне пришлось в этом поковыряться. Читать далее

MapLibreLeafletWebGLрефакторингмиграциярегрессионное тестирование
Habr
RU

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

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

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

От орбитальных данных до 3D‑орбиты в браузере: как я делал интерактивную карту спутников

Вы тоже стали чаще замечать движущиеся светящиеся точки на небе? Небо ожило даже для простых наблюдателей с земли. Я разработчик со стажем 7+ лет, а…

спутникиорбитыSGP4OMMCelesTrakSpace-TrackThree.jsWebGLвизуализация данныхкосмонавтика
Habr
RU

Почему Seedance 2.5 и Hailuo H3 игнорируют промпт и как это исправить 3D-сценой

Привет, «Хабр»! Я Илья Трикоз, сооснователь и разработчик GPTunneL. И сегодня расскажу вам про вещь, которую мы сделали, когда задолбались смотреть,…

Seedance 2.5Hailuo H3WebGLffmpeg.wasmпревизGPTunneLHiggsfield 3D Jutsuv2vворкфлоу
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

Почему смена IP не делает вас новым пользователем

Вы держите личный и рабочий аккаунты на одном сервисе — просто чтобы не путать переписку и не смешивать процессы. Или ведете пару разных аккаунтов д…

отпечаток браузерафингерпринтингмультиаккаунтингантифродприватность в интернетеVPNпроксиантидетектWebRTCWebGL
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