Port Wright
Lightweight Procedural Port Simulation
A whole port as one HTML file with no libraries, web fonts or network requests: a YAML reader, a validator, a script runner, a discrete-time simulation and a small 3D renderer, all in plain JavaScript.