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

Andreas Plesch andreasplesch at gmail.com
Thu Jul 20 15:02:01 PDT 2017


On Thu, Jul 20, 2017 at 4:31 PM, Don Brutzman <brutzman at nps.edu> wrote:

> On 7/20/2017 12:39 PM, Andreas Plesch wrote:
>
>>
>> On Thu, Jul 20, 2017 at 3:13 PM, John Carlson <yottzumm at gmail.com
>> <mailto: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)
>>
>
> correct, as are your other points.
>
> There is some usage of DOM internally to the library, particularly when
> using Java reflection, but none of that is exposed to the programmer.
>
> Conceivably we could add some form of DOM import and export for X3DJSAIL
> object trees.
>
>         Conversions
>         http://www.web3d.org/x3d/stylesheets/java/X3DJSAIL.html#
> Conversions
>
> 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 ?
>>
>
> Actually no...  I have implemented the X3D Java SAI interfaces quite
> strictly, and then added the jsail concrete classes using them.
>

Ok. I was getting the impression that it had to be different due to the
DEF/USE, Routes, statement discussions. SAI has importDocument


http://www.web3d.org/documents/specifications/19777-2/V3.3/Part2/functions.html#importDocument

where document is a DOM node org.w3c.dom.Node . For cobweb-dom, this is the
main function to get the initial scene from the DOM into the x3d browser.
Into where would X3DJSAIL import the DOM ? What is the equivalent to the
'Browser' ?


> Nevertheless have found a number of omissions and contradictions in the
> Java SAI language binding for X3D.  Issues list maintained on X3DJSAIL page
> at:
>
> ============================================================
> ================
> Specification Changes under Consideration
> http://www.web3d.org/x3d/stylesheets/java/X3DJSAIL.html#
> SpecificationChanges
>
> *  X3dJavaSpecificationChangesAndIssues.txt lists noted problems with the
> governing specification X3D Java SAI Language Bindings (ISO/IEC 19777-2).
>    http://www.web3d.org/x3d/stylesheets/java/X3dJavaSpecificat
> ionChangesAndIssues.txt
>
>
Looking at these discoveries. I assume the referenced v3.0 spec. is
substantially identical to v3.3 ?



> *  Specification prose is needed to define necessary support for DEF, USE
> and class attributes.

*  Consider appropriate specification issues for abstract SAI and
> corresponding encoding specifications.
> *  Not needed: adding Annex D Java SAI Concrete Classes for standalone
> scene programming, since other approaches can be accomplished compatibly.
> *  Mantis issue tracker keeps track of details, alternatives and
> resolution for each specification issue.
> *  Web3D Consortium github (member-only access) is used to maintain
> editors-draft Web3D specifications in version control.
> ============================================================
> ================
>
> 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 ?
>>
>
> Yes.
>

Ah, good, I am on the right track. There could be a shortcut in the
sequence above if the x3d browser would be able to directly process the
object graph into the internal scene graph. Let's assume xj3d could do
that. I think that would include replacing USE nodes with references to
their DEF nodes ? So the scene graph would not actually have a need for a
USE property. Another step would be compiling Routes into a
fromNodeField-toNodeField map. So the scene graph would not have a need to
keep Route definitions at certain tree path locations. This is why I
thought there is a difference between X3DJSAIL dealing with an object graph
and SAI dealing with the actual X3D scene graph and state.

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


More information about the x3d-public mailing list