WebGL-DOM Visualization Tool

This is an experiment in visualizing XML documents as Document Object Model (DOM) trees in more than two dimensions.

This happens through first transforming XML source into a JSON format, which is then transformed into a WebGL visualization.

The visualization tool is to showcase both atomic undo/redo operations and multiple models of "shadow content" inserted into the DOM. By modifying the JSON, we can simulate different DOM tree structures - essentially experimenting with "breaking the rules" of the standard DOM.

How do I get started?

Summary of set-up

You will need Mozilla Firefox version 39 or higher. Support for Google Chrome is coming soon. (Differences in how to load ECMAScript 6th Edition JavaScript are the blocker.)

If you just want to play with it, visit the home page and have fun!


The key parts of this project are written almost entirely in JavaScript, so all you really need is a modern web browser and a good text editor.

This project uses a number of third-party libraries for support:

How to run tests

Check out the repository and open /tests.html .

Contribution guidelines

I'm working on this, but in short: feel free to make improvements anywhere you want, except in the third-party libraries. Please file JIRA tickets first and consult with me (Alex Vincent) below on design questions.

Becoming a contributor

Contact Alex Vincent to be added to the project.

Writing tests

All tests are based on the Jasmine framework, which is surprisingly friendly.

Code review

For your own patches, Alex will review them. But generally speaking, if it works, it provides a genuine improvement and tests pass, you'll get approval to check in very easily.

For existing code (prior to August 1, 2015), code reviews are welcome!

Other guidelines

The libraries above are exempt from all reviews and changes: assume they work and are very well tested. The libraries themselves may be upgraded wholesale at any time, based on stable releases from their home projects. (For instance, CodeMirror 5.5 is out right now.)

Who do I talk to?

Send an e-mail to Alex Vincent at, with a subject line that starts with the words "WebGL-DOM", and you'll get an answer very soon!