The browser DOM is a masterpiece of software engineering. For the last three decades, it has served as the bedrock of the internet, excelling at flowing text, document-first layouts, SEO-heavy prose, and standard form interfaces.
But the DOM has a fundamental bottleneck: it is designed around a document flow model.
When you build applications that behave more like interactive scenes than static documents—such as complex mathematical simulations, node-based diagrams, streaming data dashboards, 3D WebGL scenes, or WebXR interfaces—the "one DOM element per visual item" model breaks down.
At thousands of entities, the styling, layout computation, and paint operations of the browser’s render pipeline become a massive bottleneck. The traditional workaround has been to drop down into a <canvas> element. However, doing so immediately strips away the most crucial layers of the modern web stack: layout helper systems, event propagation, accessibility, and automation.
That is why we built VectoJS (available at vectojs.org) — a zero-dependency, canvas-native UI runtime driven by a Virtual Math Tree.






