[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.
I'm curious about the builds API. I'm currently writing a terminal client that, given a git repository, will list recent builds across multiple CI providers, give access to build logs, etc. I'm interested in integrating with Sourcehut.
Most CI providers have a REST API that allows listing the builds related to a repository. The API reference for builds.sr.ht [1] does not list such a functionality, however the website offers it (e.g. [2]). Did I miss something, or is this not possible via the API? Are there plans to add this feature?
Author of termtosvg here. I've posted this project a month ago [1] and got a lot of feedback from
all of you. I've since fixed a few issues and implemented SVG templates. Templates are skeleton
files where termtosvg embeds the animations. This makes it possible to:
- add a terminal UI to the animation
- add animation controls (play, pause, seek...) with JavaScript
- customize the terminal color theme
- probably much more
A few default templates are provided with termtosvg and users can create their own templates too.
This should make termtosvg more versatile and also adress the most requested feature which is a way to control the animation.
I doubt termtosvg will evolve much more, except for minor improvements, so I'd like to know
what you all think of this. Thanks!
Thanks! I will look into the virtualenv problem, but if you can spare the time could you please open an issue and include the exact steps to reproduce the error?
I'd rather stick to plain SVG for the animation part, in case ECMAScript is stripped from the SVG for security reasons. ECMAScript might be worth adding for additional features though (play/pause, progress bar, frame seeking...)
OP here. Sadly, SVG file size is not as small as I'd want it to be. The main problem is that a few attributes (x, y and lengthAdjust) have to be repeated on each text tag to position each character at the right place. I can't use CSS for this since those attributes are not styling attributes.
Using SVG definitions efficiently to avoid duplication is also not as easy as I thought it would be.
I have a few ideas on how to reduce file size, this is the next improvement I'm planning to work on.
For the examples shown at [1], file size ranges from 56kB to 252kB, the worst case scenario being lots of single characters with different colors.
From what I understand it was not maintained anymore, and it was also hard to keep up to date lists of allowed or forbidden system calls for the binaries that had to be run under systrace. [1] [2]
Linux provide seccomp-bpf for system call restrictions. [3]
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)