While working for a major freight railroad, I identified a need for a tool to help in the memorization of all the various signal aspects that were in use. I created this page to help study for tests and demonstrate the basic principles of block-based rail signaling.
This was my first foray into using the new-at-the-time canvas element. The signals are all drawn and animated using canvas, so they can be programatically generated as opposed to using static assets/images. The signaling demonstration is also made with a canvas element