Mega gif indeed. Two relevant excerpts found in the about page (it's a gif but not a gif):
> Why 796?
> The name of the project has a small code: 7, 9 and 6 are the ordinal numbers of the letters in the English alphabet for the word GIF. This project is essentially one big gif, a mega gif, so all the action takes place on the 796th (GIF) floor of the space station :)
> How does animation rendering work?
In order to maintain pixel clarity and still have good compression, it was necessary to create own video format. The entire animation is divided into sections, and each section is packed into this special format. The browser then loads the desired section and renders it in a separate thread into the common canvas.
> Assuming everything is well behaved and you have a reasonable parser for PDF objects this is fairly simple. But you cannot assume everything is well behaved. That would be very foolish, foolish indeed. You're in PDF hell now. PDF isn't a specification, it's a social construct, it's a vibe. The more you struggle the deeper you sink. You live in the bog now, with the rest of us, far from the sight of God.
Fascinating. This reminds me of the WWII novel All The Light We Cannot See where the young German soldier is tasked with locating illegal radio transmissions by placing receivers at different places and using trigonometry calculations to estimate the distance and direction of the source. Of course, the culprits would invariably be killed when found, leaving the boy with a deep sense of guilt.
I love the tip about using the python debugger "pdb". This reminds me of the similar Ansible debug feature (e.g. "debugger: on_failed") which let's you jump into an in-flight playbook.
I remember using OCaml a bit and it has a time-travelling debugger. You launch the program with the debugger, it crashes and then you can inspect the program as you wish. I was really impressed by this.
Someone wrote a time-travel debugger for Python, but it seems like a one-off project and I'm not sure if there's an actively maintained/developed tool. https://github.com/TomOnTime/timetravelpdb