Skip to content

Projects

Things I build on my own time. Both grew out of problems that kept coming back at work.

Sangria

Node-based procedural modeling and runtime mesh generation for Unity. 2026 - now.

Dev log on Unity Discussions: Sangria: a procedural node-graph mesh framework for Unity

Convex decomposition of the Stanford bunny Sphere with Boolean cavities
Convex decomposition for colliders: the bunny split into convex hulls next to the original A sphere with cavities subtracted by the Boolean node, the red cutter still in place
A hundred statues cut off the main thread Parametric gear graph
A hundred statues cut at different angles, cooked off the main thread A parametric gear: teeth, module and bore are graph inputs, changeable at runtime

Sangria node palette

Videos: procedural generation, async graphs cooking off the main thread, Booleans, parametric gear.

The same procedural problems came up at every job: mesh generation, Booleans, kinematic extrusion and contour following, curves, spatial indexing, city-scale GIS geometry. I built the pieces several times over. Sangria is that accumulated work packaged into one plugin with a single data model under it.

  • A standalone Unity plugin with an in-engine operator graph that borrows Houdini's data model and operator approach.
  • A geometry model with n-gons as first-class primitives and typed attributes on every level of the mesh.
  • Geometry processing in Burst-compiled jobs on unmanaged native containers, with no managed allocation.
  • Mesh Booleans on real game content, with Seam, Trim and Shatter on top of them and open geometry as input.
  • Async graph execution off the main thread, expression nodes generated by a Roslyn source generator, convex decomposition for colliders, and graphs built from a natural-language prompt through Unity CLI and Claude Code.

How the data model works, and why 24 vertices and not 8, is in the article How Houdini Inspired Me to Procedurally Generate Meshes in Unity.

Experimenters

A virtual electricity lab in the browser. 2022 - now. experimenters.app

Experimenters on a laptop, a tablet and a phone

You put instruments and components on a bench, wire them up, and the circuit is simulated as you go. Connect an ammeter in parallel with a lamp and the supply switches itself off on overload, the way a laboratory supply does. Fuses blow and get replaced, filaments burn out, a battery sags under load.

It started as a game jam prototype in 2022 and became a standalone product with its own circuit solver and real-time simulation on a deterministic architecture. The solver runs on Burst: a schematic is split into independent connected parts and each is solved on its own, about 50x faster than the old managed code, so medium-sized circuits recompute in real time. It has an oscilloscope and a lock mode that prevents accidental disconnection. Built with Unity, it runs as WebGL on desktop, tablet and phone, installs offline as a PWA and is localized into 14 languages. All 3D content is authored in Houdini. Lab templates, prefabs from Houdini models, layout and localization tests and the user-guide clips are produced through Unity CLI driven by Claude Code. The site carries 50+ ready-made labs from primary school to A-level: Ohm's law, Kirchhoff's rules, RC and RL circuits, transformers, transistors, resonance.

Experimenters went through the pre-incubation program at Bird Incubator in Zagreb.

Open source and community

  • github.com/dr-vij: Docker setups for running 3D and video generation models on the Nvidia DGX Spark (Trellis2, Hunyuan3D 2.1, LongCat-Video, UltraShape), a GPU-accelerated 2D drawing library and Unity extensions.
  • Unity Discussions, where the Sangria dev log lives.