today's update is not as exciting to look at, but very exciting to me personally---we went from zero rust to like half or more of the project being ported, including a new Optics Description Language we're trying out!
material definitions are being parsed from yaml, sellmeier is being curried, and we're getting useful objects out of it all! after a lengthy detour reimplementing the concept of a number, which was then backtracked, i've put together points and rays, but not angles---we're gonna try Inigo Quilez' approach of minimizing the use of trig functions, and as such, we're going to use vectors (points) to encode our angles. haven't worked out how to avoid the inverse trig yet, but we'll get there. color translation has been ported, snell/fresnel/sellmeier are done, materials are working... i think next up is probably implementing our curves, surfaces, and elements. then we do the intersections and ray marching again, and finally figure out how to hook it up to the display. and THEN we'll get to work on all the important stuff... but yeah, i'm having a lot of fun learning Rust. It's hard but rewarding.