Building something as an exercise in learning all things physics, graphics, and GPU as a compute platform.
It is several years in the making and has had several rewrites as new learnings have emerged.