My naive approach to raycasting in javascript using line-line intersection instead of raymarching.
I made the decision to use line-line intersection as it's more mathematically involved and potentially more efficient computationally.
Visit deployment.
Example of the 4 different rendering modes.