[x3d-public] setUSE in X3DJSAIL. Impact on X3DJSONLD.

John Carlson yottzumm at gmail.com
Thu Jul 20 13:42:22 PDT 2017


Like I said, I missed something big in Java SAI.  I am corrected.

What are the plans/status of incorporating X3DJSAIL into X3D-Edit and Xj3D? I’ve seen quite a bit of work on X3D-Edit…

John

Sent from Mail for Windows 10

From: John Carlson
Sent: Thursday, July 20, 2017 4:17 PM
To: Andreas Plesch
Cc: X3D Graphics public mailing list
Subject: RE: [x3d-public] setUSE in X3DJSAIL. Impact on X3DJSONLD.

>From looking at the Java SAI I found online, I would say that X3DJSAIL and X3D Java SAI serve different purposes.  One is used for importing XML, building a scenegraph, and exporting X3D encodings, and the other is for manipulating the scenegraph (SAI) I believe that X3DJSAIL incorporates many features of X3D-Edit and Xj3D not found in Java SAI (but I could be missing something big in Java SAI, I just glanced at it).

John

Sent from Mail for Windows 10

From: John Carlson
Sent: Thursday, July 20, 2017 4:03 PM
To: Andreas Plesch
Cc: X3D Graphics public mailing list
Subject: RE: [x3d-public] setUSE in X3DJSAIL. Impact on X3DJSONLD.

Don would have to weight in.  From what I’ve seen of Abstract SAI, it’s very different from sai. I haven’t found a good link for Java SAI.  I don’t know anything about the javascript SAI, except what Cobweb provides, I haven’t studied in in great detail. I’m more of a DOM/JSON programmer.  Think of X3DJSAIL jsail almost like POJOs or DTOs with exporters, with a big fancy converter object at the root of the object graph in jsail, and an XML loader sticking off the side.

I think X3DJSAIL is intended to speed up XML processing for Xj3D, so it doesn’t have to go through VRML first, and to provide more validation than what Xj3D provides.  Also, it integrates the conversions found in X3D-Edit. So I think it’s going to be used as the common substrate between X3D-Edit and Xj3D.  That’s my best guess. XML is used for output too.  Either jsail or sai will be used to maninpulate the scenegraph (or an implementation of jsail that does rendering).  I’m imagining X3DJSAIL being the Model, and one needs to add the View and the Controller (MVC terms) from Xj3D to have a functioning X3D browser.

If someone has an online copy of the use cases for X3DJSAIL besides conversion and marshalling/unmarshalling, I’d like to know them.

John

Sent from Mail for Windows 10

From: Andreas Plesch
Sent: Thursday, July 20, 2017 3:39 PM
To: John Carlson
Cc: X3D Graphics public mailing list
Subject: Re: [x3d-public] setUSE in X3DJSAIL. Impact on X3DJSONLD.


On Thu, Jul 20, 2017 at 3:13 PM, John Carlson <yottzumm at gmail.com> wrote:
There is a node tree in X3DJSAIL.   There’s two parts to X3DJSAIL, jsail (the implementation) and sai (the interface)

Ok. I think sai (lowercase), the interface, defined in X3DJSAIL, is quite different from the SAI defined in the standard (abstract, java or javascript), right ?

My mental model currently is: Use X3DJSAIL to conveniently compose and manage an (X3D looking) object graph (a 'scene'). The object graph can be serialized (written out) to XML (strings). The XML is processed by the X3D browser to an internal scene graph with state. Use SAI to directly manipulate the internal scene graph. Does that sound right ?

Hoping to clarify and avoid misunderstandings,

-Andreas

 
 
From: John Carlson
Sent: Thursday, July 20, 2017 2:39 PM
To: Andreas Plesch; X3D Graphics public mailing list
Subject: RE: [x3d-public] setUSE in X3DJSAIL. Impact on X3DJSONLD.
 
As far as I know, there is no DOM in X3DJSAIL except for processing XML input into the “scene” through reflection as defined with typesafe instances of concrete classes (not in SAI, but likely implementations of SAI).   XML output is done with strings.
 
Sent from Mail for Windows 10
 
From: Andreas Plesch
Sent: Thursday, July 20, 2017 2:35 PM
To: X3D Graphics public mailing list
Subject: Re: [x3d-public] setUSE in X3DJSAIL. Impact on X3DJSONLD.
 

Date: Thu, 20 Jul 2017 12:18:53 -0400
From: John Carlson <yottzumm at gmail.com>

As far as I know, there is no ?parents? property on a node in DOM, so this whole discussion is rather moot until that changes. If you don?t have parents, then there?s no way to get to one or more of your parents from a child node (not necessarily needed, but?)
 
There is parentNode:
 
https://developer.mozilla.org/en-US/docs/Web/API/Node/parentNode
 
But the property is readonly because there can be only one parent for a node.
 
x3dom/cobweb do not use the DOM for storing the x3d scene graph. They use javascript objects, for this reason among others. Additionally, there is a SAI service importDOM (or so) to help with bridging.
 
I am not sure if I am following the discussion completely. One key seems to be to be careful in distinguishing in nomenclature (and praxis) the abstract scene graph (including the runtime state) - accessible via standardized SAI - from the (XML) node tree. Is perhaps X3DJSAIL a bit of a misnomer somewhat conflating SAI services with node tree manipulation ?
 
Andreas
 
 




-- 
Andreas Plesch
39 Barbara Rd.
Waltham, MA 02453



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


More information about the x3d-public mailing list