Here are some of the things I've written about this in the recent past, though I seem to be suffering from profoundly pathological levels of analysis paralysis:
https://dercuano.github.io/notes/uvc-archiving.html
https://dercuano.github.io/notes/archival-vm.html
https://derctuo.github.io/notes/veskeno-outline.html
https://news.ycombinator.com/item?id=32218329
I think there will always be a hard core of explorables that really need the performance of a modern computer to express what you want to express, but I think there are a huge number that aren't, and for which the penalty of running 10x or 100x slower than they would in JavaScript with WebGL is worth the benefit of lasting forever without any maintenance.
For things that have some direct real-world applicability, like solving a sparse linear system (that isn't too large) or estimating the transmittance spectrum of a slice of the atmosphere, this kind of reproducibility seems even more important to me than for tutorial material.
I did mention the JVM in two out of four of the notes I linked there, and it was certainly an influential step in the direction I'm going, but I'm aiming for deeper levels of reproducibility than the JVM tries to offer.
I use the site for my own students when I teach physics, and they catch a few typos and bugs each semester.