I see you want a screen saver and this just runs an app to view in your browser. There are other methods but they are a bit trickier. It’s not too hard to add an embedded interpreter but you’d probably have to do some porting to get it drawing to a native canvas.
You could do it pretty easily in Go.
Basically just use embedfs to add your javascript and HTML.
https://pkg.go.dev/embed
Here’s a complete working example with a http server from that page:
package main import ( "embed" "log" "net/http" ) //go:embed internal/embedtest/testdata/*.txt var content embed.FS func main() { mutex := http.NewServeMux() mutex.Handle("/", http.FileServer(http.FS(content))) err := http.ListenAndServe(":8080", mutex) if err != nil { log.Fatal(err) } }
I see you want a screen saver and this just runs an app to view in your browser. There are other methods but they are a bit trickier. It’s not too hard to add an embedded interpreter but you’d probably have to do some porting to get it drawing to a native canvas.