Fork of https://github.com/Petah/2d-visibility
This is a 2d visibility algorithm described in this article, ported by hand to TypeScript and slightly refactored.
I highly suggest reading the article. It's very well explained with some really awesome interactive examples and provides the code in multiple languages. The original code was written in Haxe, which can compile into JavaScript but I found the generated JS to be rather difficult to read and comes with an (unnecessary) doubly linked list implementation.
npm install
npm run dev
npm run build