Provide alternative renderer

I wonder how to provide an alternative renderer.

What I’m interested in trying is to use my WebGL-powered HTML elements,

instead of traditional elements, and add some neat graphical effects to text using shaders. Basically I want to define an alternative DOM output without re-implementing all the other stuff like text editing mechanics, plugin system, key bindings, etc.

F.e. imagine individual text glyphs fly past the camera as they animate towards their position in the document when you insert text, while all the editing mechanics are powered by CodeMirror.

Next, imagine the possibilities in VR/AR.

The hacky way to do it would be to hide CodeMirror off screen (like the old off screen textarea tricks) then map the editor state to my custom DOM. There would be DOM trees in this case.

Does CM have any official way to plug in custom DOM?

No. See also this thread.