or like, protobuf, or any number of other binary bitstream schema definition schemes
all those plaintext HTTP headers on top of all the stringy JSON parsing and formatting and allocation and gosh, aren't you tired of being nice
anyway i recently got pretty familiar with the GIF format to make what i guess would *technically* amount to a cloud gaming platform outta 90s-era web technologies embedded in cohost and like. everything the industry has invented after 2005 feels even more wasteful now
also, pertaining to GIF as a graphics format: did you know GIF is capable of losslessly reproducing any RGB image? a lot of image editors will dither images and reduce their color palette to 256, but that's just a lack of imagination on their part.
don't believe me? take a look, here's a 24-bit color image:
https://lifning.neocities.org/gif-example/24_bit.gif produces an identical image to https://lifning.neocities.org/gif-example/24_bit.png
(i can't upload it to mastodon because mastodon will transcode the .gif to .webm or .mp4, which is rarely correct behavior as far as i'm concerned but here we are)
the problem is, most gif renderers will take a while to finish drawing the image due to artificially inserting animation delays between each image block, so it'll look like it's "loading." but i promise, once it's done, you can copy the image and compare it and the PNG as 'difference' layers in an image editor and get 0!
and as a *lossless animation* format, it can be much better-suited for retro games with repetitive, low-color visuals than today's widely-available *lossless* video codecs. here's 13 hours and change of https://github.com/dannye/pokered-gbc gameplay footage recorded in GIF, and then fed through ffmpeg -c:v libx264rgb -crf 0.
the mastodon instance at cybre.space is retired
see the end-of-life plan for details: https://cybre.space/~chr/cybre-space-eol