Introducing XSeen
HTML gained wide-spread acceptance because it was straight-forward and produced results even if you did write it perfectly - it is very forgiving. Of course, you get better results when written correctly, but you are never puzzling out what IEA102A INVALID PARAMETER/FORMAT - RESPECIFY
means1. HTML presents a unified environment to the web designer and user. Things are fairly simple while allowing the advanced developer to construct tremendously powerful displays. HTML has tremendous success with two dimensional displays and data. It provides an incredibly rich environment for constructing user interfaces and experiences in two dimensions.
But we live in three dimensions. Our life is not just left/right and up/down, but also close/far. XSeen is designed to supplement the two dimensional richness of HTML by adding a third dimension. It does this by building on the structure of X3D, A-Frame. and X3DOM in a manner that is consistent and compatible with HTML. The language uses the standard Document Object Model (DOM) and JavaScript to manipulate it. The application (also called XSeen) uses the popular THREE and TWEEN libraries for handling the display and animation of all 3D content.
XSeen is open source - the language definition is Creative Commons Share-Alike (CC-SA) and the library is dual licensed MIT and GPL (user's choice). This allows you to use add to or resuse XSeen in other situations. By using common support libraries, you can easily add other displays and features from other projects that work with THREE and TWEEN.
XSeen handles all standard 3D features such as standard solids (boxes, spheres, cones, cylinders, torii, etc), lighting, flat and image textures, loading of external models (glTF, X3D; others planned), animations, backgrounds, and advanced geometry (triangles, quadralaterals, and convex polygons).
The XSeen project page includes a more detailed description of capabilities along with many working examples/test cases, and screen shots. The examples display on an overlay on the page and include running illustrations of all current features. The XSeen code is available on GitHub (currently in the development branch) and the documentation is available separately and includes language and internals documentation.
1 Actually this means nothing in a web browser context. It is an IBM 360 error code listed in IBM System/360 Operating System: Messages and Codes. p97. http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/360/os/R21.7_Apr73/... p101. Downloaded 2017-06-24.
References
- XSeen Project Page - http://realism.com/xseen
- XSeen GitHub Code - https://github.com/DrX3D/XSeen
- XSeen Documentation - http://tools.realism.com/specification/xseen
- A-Frame documentation - https://aframe.io/docs/0.5.0/introduction/
- X3D Specification - http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/Archit...
- THREE library - https://threejs.org/
- TWEEN library - https://github.com/tweenjs/tween.js/