> so I guess the VM outputs a virtual DOM tree from a handlebars template, rather than text?
As the article mentions, this technique is distinct from virtual DOM. The article is light on what specifically it does though. From the article:
> I'll describe the details of this approach in another post, but the short version is that we compile templates into "append-time" opcodes for a bytecode VM. The process of running the "append-time program" produces the "updating program", which is then run every time the inputs change.
anyway.
> If anything it sounds like there are a lot of other components besides the VM, which weren't really described in the blog post, and I couldn't find any links.
There's a little bit; that is, this post is specifically about Glimmer's VM; Glimmer itself has a few more things, just like React is more than just a virtual DOM implementation. In Glimmer's case, there's glimmer-component, which lets you write web components, and glimmer-application, which lets your register your components into a cohesive whole, etc.
TL;DR: Glimmer as a project is similar to react. It has some significant and novel implementation details that keep it speedy.