A few more under-the-hood fixes (mainly around value auto-swizzling). The newest version is here https://weesals.com/Releases/HTML/Surface/R8/
I made a caustics generator in it (load the example project to see). Unfortunately PerlinNoise has a grid artifact, so cannot be used, and SimplexNoise does not wrap. I’ll need to add another noise generator once I find a suitable one.