[x3d-public] X3DJSAIL ported to web...what parts aren't portable?

John Carlson yottzumm at gmail.com
Sun Dec 10 07:19:23 PST 2017


Yes, we will need to go over the code together. I think I’ve kept X3DJSAIL and X3DJSONLD separate as they can be, except that now X3DJSAIL generates code that uses X3DJSONLD (a separate copy from my own under x3d/stylesheets/nashorn—see previously mentioned zip).  Then the build.xml is responsible for launching nashorn on the HelloWorld example.

There are 2 major stumbling block to integrating X3DJSONLD and X3DJSAIL  so far:

1. The JSON generated for inclusion in the nashorn code (from X3dToJson.xslt) is not right (MFStrings \).  Potentially change stylesheet engines, or use alternate XML -> JSON converter.  Normal conversion to JSON outside appears to be just fine, so I’m a bit puzzled.
2. There was something else that I found after I patched the output JavaScript and reran the last part of the test, but I can’t remember what it was


If you want to generate the JavaScript a different way from X3DJSAIL, that is okay. You’ll have to decide to generate ECMAScript, Nashorn, Rhino or Node.js.  I think it would be natural for you to generate Nashorn, given your choice of ant, so I’ve moved in that direction.

Also note that you can create Nashorn Scripts inside ant build.xml files.  Way cool!  I created a little test.bat script to test building X3DJSAIL and test-nashorn.

John


From: Don Brutzman
Sent: Sunday, December 10, 2017 1:04 AM
To: John Carlson; X3D Graphics public mailing list
Subject: Re: [x3d-public] X3DJSAIL ported to web...what parts aren't portable?

On 12/6/2017 5:38 AM, John Carlson wrote:
> So I would like to port X3DJSAIL to the web.   To do this, I need to identify pain points in porting Java to the web, namely File, Properties, advanced stylesheet usage, and perhaps others not yet available on the web.  In those cases, I would like to create another version of X3DJSAIL which is more portable.   Then I would like to use Jsweet or J2TS to convert from Java to TypeScript and then JavaScript.
> 
> Does anyone else want this eunucized X3DJSAIL and can help?

John thanks for asking and your persistent tracking of issues/improvements, am definitely interesting to keep progressing.  Thanks also for the discussion this morning.

Am back from 2 weeks travel, will be able to slowly get sorted out back at work.

Priorities for X3DJSAIL over the next week: finish EXI support (adding OpenEXI as alternative to already-working EXIficient) and integrating your recommended patches.

Today added fromZIP and fromGZIP load methods on X3DObject.

Topics for the upcoming meeting should include how X3DJSAIL, X3DJSONLD and X3D JSON/Java/Python development can continue to progress in a complementary, mutually beneficial fashion.  This work also helps SAI and X3D Unified Object Model efforts.

For anyone else interested, we have scheduled a meeting to follow up on John's suggested inquiry.

	X3DJSAIL review, issues, planning
	Tuesday December 19, 1030-1200 pacific
	Web3D teleconference line
	http://www.web3d.org/member/teleconference-information

Community participants interested in joining us are welcome.  If so, then please advise and then can provide connection information... as well as an enthusiastic suggestion to

	Join the Web3D Consortium
	http://www.web3d.org/join

Thanks for all interest and activity with X3DJSAIL.

=============================================================================
X3D Java Scene Access Interface Library (X3DJSAIL)
X3DJSAIL supports programmers with standards-based X3D Java interfaces and objects, all as open source.

X3DJSAIL, the X3D Java Scene Access Interface Library is a set of strongly typed Java application programming interfaces (APIs) providing programmer access to an X3D scene graph. Two open-source Java packages are included that contain X3D SAI interfaces and support the X3D Standards for Java programmers.

     org.web3d.x3d.jsail provides concrete implementation-oriented classes for building X3D scenes using standalone Java objects.
     org.web3d.x3d.sai    contains standard X3D SAI interfaces to independently compile Script-node source for use in X3D players.

Available products include Javadoc, source code, build support, run-time jar archives, several thousand self-validating examples, and draft specification annexes for both node interfaces and abstract-node type interfaces.

Goals include making it easy to create an X3D scene graph using Java, while also making it hard to create an incorrect or invalid X3D model.  That design goal is successfully met with further progress continuing.

Multiple uses are intended for these libraries.

     Create high-performance standalone Java applications using a Plain Old Java Object (POJO) implementation for X3D.
     Compiling Java source code used in X3D Script nodes.
     Future: serve as a design template for planned autogeneration of similar codebases using ECMAScript, C++/C# and Python programming languages.
=============================================================================

Have fun with X3D programming!  8)

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman

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


More information about the x3d-public mailing list