Projects

RusTX
I've used Blender a lot, which use ray tracing software to render models and I wanted to better understand how ray tracing worked, as well as learn the technical details behind the algorithms. So, for the CS128 Honors final project, I led a team of three to build a ray tracer in Rust. Since a lot of the ray tracing codebase was written in C++, we were able to compare the benefits of using Rust over C++ as well as learn more about multi-threaded Rust.Features
- Multi-threading
- STL model parsing and rendering
- Glass, metallic, and lambertian materials

> Europa Lang
I've always been fascinated by how programming languages themselves worked. Learning from the popular [craftinginterpreters] tutorial, I created Europa Lang, inspired by the syntax of Rust and JavaScript. It's grown to have over 20 stars on GitHub and has had multiple people contribute to the project, as well as its own VSCode language extension!/** Features
- Recursive-descent parsing
- Feature-rich standard library
- Support for arrays, ranges, and hashmaps
*/

Vector Golf
I love physics, especially creating realistic simulations. So, taking inspiration from GamePigeon Golf, I made my own golf game: there are ice blocks which break if you hit them, portals that teleport your ball, and so much more! The game includes a custom hand-written physics engine, a fully functioning level editor, and works on desktop and mobile.Features
- Fully-featured Level Editor
- P5.js with Typescript + Vite pipeline
- Custom hand-built physics engine
- Over 20 levels