This reminds me a little of the <shader-doodle> web component, which also works in any framework or plain HTML:
Really cool idea with doing it as a web component.
There's also Pocket Shader which is pure JS: https://github.com/braebo/pocket-shader
loading story #42422809