Notes on the drawing
Every ray is traced exactly in two dimensions. At each surface, flat or curved, the new direction comes from Snell’s law in vector form with the exact surface normal; curved surfaces are true circular arcs, however the part is moved or turned. When no refracted ray exists, the light is totally reflected. Mirrors reflect at equal angles; screens stop the light.
Each part has its own glass. Crown (n = 1.52), flint (1.62, about 2.6 times the dispersion), water (1.33) and diamond (2.42), or any index you set. Other colours use a Cauchy formula, so violet is bent more than red. White light is traced as seven colours.
Some light is always reflected at glass, as given by the Fresnel equations (about 4% head-on). Turn on Weak reflections to see those rays, drawn fainter in proportion. Pulses are short bursts of light moving along each ray at c/n, so you can see light slow down in glass.
For the selected source (or the first one), the log lists each surface its central ray meets: the angles to the normal on the way in and out, and how much is reflected there. Angles are measured from the normal, the line at right angles to the surface.
Drag a part to move it, drag its round handle to turn it (it snaps every 5°). Arrows nudge, [ and ] turn, Delete removes. 1–9 choose a plate.
Drawn for clarity: line widths, the hatching of glass and the slow pulses (real light would cross the bench in a nanosecond). The bench is a flat slice: it shows exactly how rays bend, but not effects of the third dimension, and not diffraction or interference, which are on the Light as a wave page.
Further reading: Feynman Lectures, Volume I, chapter 26 · Hecht, Optics
Theoria · Rays and lenses 0.2 · Drafting bench