[1] suggests it uses a Constraint Satisfaction Problem solver and according to the network tab of my browser the solver seems to run on the server (the data is exchanged over a WebSocket connection). I'm wondering what kind of algorithm the solver uses too, and if it relies on any heuristics or specific data structures for this problem. For example [2] shows best results using bitarrays and a mix of "forward checking", "conflict directed backjumping" and "dynamic variable ordering". (which are fancy terms to describe the methods one usually comes up with to solve a Sudoku grid)
GitHub sanitizes SVG animations by removing e.g. embedded JS code but SVG animated with CSS is supported in Markdown files. See for example [1] which contains [2].
Yes. A line of the animation is a group of text elements. Somehow text selection does not work across several SVG groups. I could remove this logic but it would mean duplicating the definition of a line on every frame showing it instead of using a single definition.
As much I as agree with this, in order for your software to be included in a distribution it needs some initial traction. So you probably want to make it easy for early users to adopt it and to do that you probably want to release build artifacts instead of having each and every one of your users install e.g pandoc or sphinx to build the manual page for your application.
But once a few distributions have started shipping your software sure, it's the best.
It's a good idea. I don't have much time for termtosvg these days so I can't promise it'll get implemented but I've opened an issue to remember it [1].
I wrote termtosvg as an alternative [1]. It's a python program that records a shell session as a standalone SVG animation. Animations produced by termtosvg can be embedded in Markdown files or HTML pages.
https://www.youtube.com/watch?v=6cpTEPT5i0A&list=PL3C690048E... (note: this is the first video of a playlist)
https://www.dimensions-math.org/Dim_E.htm
https://en.wikipedia.org/wiki/Dimensions_(animation)