Проекты¶
То, что я делаю в свободное время. Оба проекта выросли из задач, которые раз за разом возвращались на работе.
Sangria¶
Нодовое процедурное моделирование и генерация мешей в рантайме для Unity. 2026 - сейчас.
Дневник разработки на Unity Discussions: Sangria: a procedural node-graph mesh framework for Unity
![]() |
![]() |
|---|---|
| Convex decomposition под коллайдеры: кролик, разбитый на выпуклые оболочки, рядом с оригиналом | Сфера с полостями, вычтенными булевой нодой, красный резак ещё на месте |
![]() |
![]() |
|---|---|
| Сотня статуй, разрезанных под разными углами, посчитана вне главного потока | Параметрическая шестерня: число зубьев, модуль и отверстие - входы графа, меняются в рантайме |
Видео: процедурная генерация, асинхронные графы вне главного потока, булевы операции, параметрическая шестерня.
Одни и те же процедурные задачи всплывали на каждой работе: генерация мешей, булевы операции, кинематическая экструзия и следование по контуру, кривые, пространственные индексы, GIS-геометрия в масштабе города. Я собирал эти куски несколько раз. Sangria - это та же накопленная работа, упакованная в один плагин с единой моделью данных под ним.
- Самостоятельный плагин для Unity с графом операторов внутри движка, который берёт у Houdini модель данных и операторный подход.
- Модель геометрии, где n-гоны - полноценные примитивы, а типизированные атрибуты живут на каждом уровне меша.
- Обработка геометрии в Burst-компилируемых джобах на unmanaged native-контейнерах, без managed-аллокаций.
- Mesh Booleans на реальном игровом контенте, с Seam, Trim и Shatter поверх них и открытой геометрией на входе.
- Асинхронное выполнение графов вне главного потока, expression-ноды на Roslyn source generator, convex decomposition под коллайдеры и графы, собранные из текстового запроса через Unity CLI и Claude Code.
Как устроена модель данных и почему вершин 24, а не 8 - в статье Как Houdini вдохновил меня на процедурную генерацию мешей в Unity.
Experimenters¶
Виртуальная лаборатория по электричеству в браузере. 2022 - сейчас. experimenters.app
Ставишь приборы и компоненты на стенд, соединяешь проводами, и схема считается по ходу сборки. Подключи амперметр параллельно лампе - источник отключится по перегрузке, как настоящий лабораторный блок питания. Предохранители перегорают и меняются, нити ламп сгорают, батарея проседает под нагрузкой.
Проект начался как прототип на геймджеме в 2022 году и стал самостоятельным продуктом со своим солвером цепей и симуляцией в реальном времени на детерминированной архитектуре. Солвер работает на Burst: схема делится на независимые связные части, и каждая считается отдельно, примерно в 50 раз быстрее старого managed-кода, так что средние схемы пересчитываются в реальном времени. Есть осциллограф и режим блокировки, который защищает от случайного отсоединения. Сделано на Unity, работает как WebGL на десктопе, планшете и телефоне, ставится как PWA и работает офлайн, локализовано на 14 языков. Весь 3D-контент сделан в Houdini. Шаблоны лабораторных, префабы из моделей Houdini, тесты вёрстки и локализации и ролики для руководства пользователя делаются через Unity CLI под управлением Claude Code. На сайте 50+ готовых лабораторных от начальной школы до старших классов: закон Ома, правила Кирхгофа, RC- и RL-цепи, трансформаторы, транзисторы, резонанс.
Experimenters прошёл преинкубацию в Bird Incubator в Загребе.
Open source и сообщество¶
- github.com/dr-vij: Docker-сборки для запуска моделей 3D- и видеогенерации на Nvidia DGX Spark (Trellis2, Hunyuan3D 2.1, LongCat-Video, UltraShape), GPU-ускоренная библиотека 2D-рисования и расширения для Unity.
- Unity Discussions, где живёт дневник Sangria.





