This is a C++ port of Bottfy's polyskel library. Also, celestialphineas's polyskel fork was used as a reference while porting.
To put it simply, there is no good straight skeleton implementation in C++ with a permissive license. CGAL has the best algorithm but it is licensed under GPL, which is a strong copyleft license.
GPL is viral, which means that if you're using a GPL library, your fork will also have to be licensed under GPL (and everything that is using your GPL work, and everything that is using something using your GPL work, and so on). So everything using CGAL has to be open source which is annoying if you're developing a game. There is a commercial license, but indie developers are unlikely to be able to afford it.
This is not legal advice.
LGPL is still a copyleft license, but softer. Polyskel is licensed under LGPL which means you have to share all modifications to it under a LGPL license (so open source). But it doesn't "infect" the rest of your work so you don't have to make any of your code open source unless it's polyskel files.
This C++ port has to be licensed under LGPL because polyskel is LGPL.
This is not legal advice.
mkdir build
cd build
cmake ..
make
cd build
cd test
python3 render_comparison.py <polygon file>
This will render the polygon + skeleton using both celestialphineas's polyskel and the C++ polyskel for comparison. You might need to install dependencies with pip install.