[x3d-public] Announcing XSeen

John Carlson yottzumm at gmail.com
Mon May 29 17:34:18 PDT 2017

Interesting.  Do you need a JSON -> DOM library, or are you going with glTF or some other tool based JSON?

X3DJSONLD may work for your JSON -> DOM purposes.  It is intended to be fairly JSON encoding agnostic, and I’d like to try it with one of your scenes.  Do you have a scene in JSON?  That is, I don’t have a DOM -> JSON yet, but that’s on my near todo list, and I have a pre-alpha prototype, if X3D/X3DOM Scripts and Routes are no longer a priority.  It sounds like DOM -> JSON is higher priority…

If you do have JSON, and you are using https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/X3DJSONLD.js ,  you will need to modify the below method to provide your own loadSchema for JSON validation, or just remove it an rely on the basic DOM validation in the browser.
I do have a version which is more packaged, found in cobweb/X3DJSONLD, here:  https://github.com/coderextreme/cobweb/blob/master/cobweb.js/cobweb/Parser/JSONParser.js in that case, you just call var dom = JSONParser.parseJavaScript(jsObj), but it creates and X3D DOM element, which may not be desired.  The code is cleaner, and you may provide an alternative to parseJavaScript…

There are also DOM -> XML serializers in X3DJSONLD (not the above JavaScript, but in src/main/node) to validate your JSON is producing the right DOM.  The serialization is fairly standard, but you may find that you need to do some substitutions, which I provide.

I will start work on DOM -> JSON again.  We do need a second implementation, and I need it for client side purposes.  Off to work!

function loadX3DJS(jsobj, path, xml, NS, loadSchema, doValidate, callback) {

	console.error("Invoking client side loader");

	loadSchema(jsobj, path, doValidate, function() {

		x3djsonNS = NS;

		var child = CreateElement('X3D', NS);

		ConvertToX3DOM(jsobj, "", child, path);

		if (typeof xml !== 'undefined' && typeof xml.push === 'function') {

			xml.push(serializeDOM(jsobj, child));


		console.error("Returning with", child);


	}, function(e) {





Sent from Mail for Windows 10

From: Leonard Daly
Sent: Monday, May 29, 2017 7:11 PM
To: X3D Public
Subject: [x3d-public] Announcing XSeen

As most of you know I have been advocating that X3D fully move into the HTML5 environment and support the display and interaction of flat-screen and VR declarative content in the browser. A-Frame offers many of those capabilities and was built for the browser environment. 
In keeping with my advocacy of this evolution of X3D, I started development of a library that supports comparison and definition of the best features of A-Frame, X3D, and other capabilities. This is a very early pre-alpha development release to help generate interest in a discussion of the appropriate technologies to include in the 3D/VR HTML language. The initial release is announced at http://realism.com/blog/xseen-merging-x3d-and-frame
At this stage only a few static features are available including all 3D pre-defined solids from  both languages plus X3D's Appearance, Material, Shape, Transform, and Inline. It is possible to mix nodes from X3D and A-Frame. The initial version of the library is on GitHub at https://github.com/DrX3D/XSeen. It runs on top of THREE.js
My next step is to write the beginnings of the internals documentation describing how to add nodes and other features. At this time there are no capabilities for animation except for what is done directly through THREE.
The goal of this work is to develop a language that is
1. Standardizable
2. Enterprise ready
3. Fully HTML5/DOM integrated
4. Runs in all browsers
5. Fully support VR, AR, xR, and flat-screen displays as determined by the content developer and user
6. Leverages other standards and communities applications and libraries

Leonard Daly
3D Systems & Cloud Consultant
President, Daly Realism - Creating the Future 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170529/421d7c67/attachment-0001.html>

More information about the x3d-public mailing list