XSeen

XSeen is a tool for the purpose of developing the next generation standard for declarative 3D and Virtual Reality content on the Web. It is designed to function completely integrated with the DOM and incorporate the best features of X3D, A-Frame, and other declarative 3D languages. It is written in JavaScript and built upon THREE.js. It is fully open source with the code base dual-licensed as MIT and GPL. The documentation is Creative Commons Share-Alike.

What Can XSeen Do

XSeen has the capability to load, texture, display, and animate 3D content. Many standard 3D solid shapes, such as box, sphere, torus, etc. are built-in. It also includes the ability to import models in glTF (version 1 and 2), Collada, and OBJ formats. Models can also be represented in X3D's geometry definition nodes, IndexedFaceSet, QuadSet, IndexedQuadSet, TriangleSet, and IndexedTriangleSet. Geometry can also be textured and lit with three different kinds of lights (Directional, Spot, and Point). Models in glTF can also have their animation play, either a single animation, or all of the defined animations. All supported features are documented.

The V0.4.0 features are listed on a spearate page.

XSeen is incorporating fundamental and concrete ideas from X3D and A-Frame into a single platform that allows the evaluation of these concepts to produce a better design. Because of this evaluation mode, there are multiple ways to represent certain 3D features. 

Why Another 3D Language

Neither X3D nor A-Frame are designed as a declarative, DOM-Integrated language. A-Frame has several deficiencies that make it not suitable for the enterprise (see the presentation "Declarative VR/3D Environment" given at SVVR2017). X3D is not designed for the DOM. XSeen is very explicitly designed as a language that is fully integrated with the DOM and has the enterprise features of X3D.

How to help

All of the code is kept in GitHub in the development branch. It is license under MIT or GPL V3.

The documentation is licensed under Creative Commons Share-Alike (CC-SA). If you wish to contribute to the documentation, please contact me.