This .ksy file can be compiled into gif.cpp / Gif.cs / gif.go / Gif.java / Gif.js / gif.lua / gif.nim / Gif.pm / Gif.php / gif.py / gif.rb and then one can instantly load a .gif file and access, for example, its width and height.
One definition can be compiled into many languages. Just wondering whether this is something worth creating a node for? I didn't find one over at flows.nodered.org
Never heard of that…
However, an open source project stuck at version 0.10 since 2022 is not the most appealing thing.
I have looked in detail what this is doing. For, apparently (?), similar needs protobuf and Apache avro are more active projects.
What if a project is complete? Especially one that defines a specification for a binary representation?
How often are the central tools of a linux distribution updated, ie ls, cat, rm, awk, less, etc?
Personal I find software that isn't continually updated as an indication of stability and completion.
But of course, the more features pushed into a piece of software, the more stable it becomes, the more updates, the better it must be because its being “actively” maintained.
So I had a quick look around the project and the JS runtime seems to have been updated last week. The main project 4 months ago. The schema definition, it seems, was updated 19 hours ago - at time of writing.
Also I discovered a great resource of pre-defined binary formats. Everything from image formats to firmwares. But wait ... they haven't be updated in the last two years, must be broken ... or perhaps the specifications haven't changed
A good example of what I mean: specifications - thankfully - don't change that often, so a repository that represents these specifications doesn't change either (unless new stuff is added - as was the case last week).
But they don't have a version number for the format repository so no telling whether it's done or not.
You are my hero! I was looking for a way to store the services of my esp32-mfa-authenticator in binary instead of yml. Because yml parser uses too much memory, the number of services users can register is 110 when considering the worst case scenario of file size. I had to limit to 100 to avoid issues.