This looks pretty interesting. Although it’s cool to suggest running in the browser sandbox as an argument against downloading an executable, I wouldn’t have thought it was a deal breaker in this community.
If you’re after feedback or ideas (if you’re not, ignore this :)):
You might find using an rather than a gives you more scope to adjust the visuals since you can draw path segments and beziers directly. SVG’s also support css-based animation so you can indicate speed with moving dashed lines which would be pleasing.
You look to be C/C++ in your style (naming convention etc) - have you considered typescript instead of javascript just in case this project gets bigger?