This is neat but I have doubts that with any large, complex ELF file that the result will be navigable. The “Hello world” example already has many, many arrows.
I tried it on a small-ish (460kb) RISC-V ELF. The resulting HTML was just on 2mb. Once loaded, the Chromium tab used 320mb of RAM. The result was not exactly useful, and had some weird graphical glitches which turn out to be arrows that span 200,000px. It’s a neat concept, though.
A very compelling visualization for relatively small amounts of data. I think it might be workable for larger datasets if there was some kind of interactive viewer that would allow me to ignore parts of the (large) file.
It reminds me very much of the excellent documentation of CTF, the common trace format. In the format specification at https://diamon.org/ctf/ scroll to the last third to see a couple of examples.
I think that many explanations and specifications of digital data formats would benefit from having graphs like elfcat. The same goes when you’re debugging.