Projects

Research

Cage-based mesh deformation

Real-time mesh deformation driven by a coarse cage, with cage handles that move together smoothly.

Geometry processingGraphics

Code

Batched VisACD

A batched CUDA and OptiX rewrite of VisACD for high-throughput, deterministic convex decomposition of many meshes on one GPU, with asynchronous per-mesh pipelines and fused GPU plane search.

Geometry processingCUDAOptiXC++

CodeVisACD paper

Parameterising context clues

An auxiliary network turns context and chain-of-thought into LoRA parameters at inference time, to speed up context-driven LLM inference.

LLMsTest-time adaptation

Code

Learnable activations in physics-informed networks

Extends PINNsFormer's activation ablation to learnable activation functions for PDE learning.

PINNsScientific ML

Code

Interesting-state learning for Mario

An RL agent that replays states where it performs badly as targeted practice, built on a custom NES emulator.

RLPythonRust

Also

Engineering

Mini-C compiler

A compiler for a subset of C with constant folding and propagation, loop unrolling and mem2reg passes.

C++ANTLR4LLVM

CHIP-8 emulator

An emulator for the CHIP-8 virtual machine.

C++

Code

Lox interpreter

A tree-walking interpreter for the Lox language.

Java

Code

Turing machine simulator

A configurable single-tape Turing machine simulator.

C++

Code

Flipwise

A cross-platform app for planning and splitting shared expenses, built by a team of seven.

Java

Code

Also