I've been working on this on and off for two years now and I finally got it into a presentable state, so I figured I'd make it public.
https://github.com/ashpil/moonshine
It's a general purpose (meaning I'm hoping to eventually support both interactive stuff like games and headless rendering) ray tracer. Currently it can render most real-world scenes somewhat well, supporting mesh lights, environment lights, and a couple different materials, all sampled with multiple importance sampling.
Now that the basics are done I think I will spend some time on making it a bit more interactive, as although one can currently render into a window one can't really do anything there other than manipulate camera settings. Also I need to write a custom scene file format, as glTF puts a limit on how interesting scenes can be.