me: I should add some interactivity to my plots

also me: *Shoves fully playable DOOM into an SVG file*

cargo build --features cli,doom
kuva doom -o doom.svg

open in browser. that's it.

Yes, it's April 1st, but this is real 😅
https://psy-fer.github.io/kuva/doom.html

@Psy_Fer_ I don't know if I've ever been more simultaneously impressed and horrified. Bravo sir.

@Psy_Fer_

Nope!

I should add that shoving html into an svg is a fun hobby. But it's a bit redundant 😅 like a photo in a word doc.

@doctormo okay fun police 😂

@Psy_Fer_

Oh the fun police, I love those guys! Acab but with a jolly laugh.

No, I'm with the svg police. 😜

@doctormo I used foreignobject, but I'm not so crazy as to rewrite doom in CSS or something unhinged like that. I did say shoved into svg, and it is still a valid svg. Just a bit of fun as an Easter egg.

@Psy_Fer_

It is both is and is not valid svg. The foreignobject tag is valid svg, but it's contents aren't. We know this because your doom wouldnt run on an svg only compliant renderer, only in a HTML and SVG renderer.

@doctormo true, but that goes for many of the "interactive" features i've been working on in my svg output for kuva. Easiest way to get them working is via a browser. Unless i'm missing something? Is there a way to get that stuff to work in a regular image viewer that is default on most machines?

@Psy_Fer_

Most image viewers aren't svg compliant so that's a bit moot.

Though a lot of the same things are possible in svg without foreign object. The only problem is the Dom is different. And no wasm, or canvas element. So some things just aren't svg. But a lot of other things are possible.

@doctormo So i guess the remaining question is: Can SVG run doom without foreign object and html? And if it can, should I? lol