[x3d-public] updated X3D node, statement inventory spreadsheets:X3DOM node addition recommendations
John Carlson
yottzumm at gmail.com
Fri Sep 1 19:19:23 PDT 2017
The X3D JSON prototype expander is integrated with X3DOM here: https://github.com/coderextreme/x3dom it is behind the X3DJSONLD version. If used with X3dToJson.xslt and X3DJSONLD, you can achieve an XML prototype expander, but it has not be tested at all.
This X3DOM contains a script node, but it’s not used, TMK. Maybe.
John
Sent from Mail for Windows 10
From: Don Brutzman
Sent: Friday, September 1, 2017 9:22 PM
To: x3dom-developers mailing list
Cc: X3D Graphics public mailing list
Subject: Re: [x3d-public] updated X3D node, statement inventory spreadsheets:X3DOM node addition recommendations
No doubt many people share the concern that X3DOM development, while actively continuing, has not added support for missing X3D nodes in a long while.
In years past, community source-code contributions for new nodes in X3DOM always seemed to require updating by insider experts.
Am wondering if remains difficult to add new X3D nodes to the primary X3DOM build? Making that task easier likely has great value.
Towards that end, recommend the following progressive priorities to improve X3DOM node support towards X3D Immersive profile (essentially VRML97 capabilities).
a. CoordinateDouble. Hopefully just a simple variation of Coordinate node. (Note that all floating-point values in Javascript have double precision.) Adding this simplest-possible variation will reveal what other X3DOM files have to be modified to recognize a new node.
https://doc.x3dom.org/developer/x3dom/nodeTypes/Coordinate.html
https://github.com/x3dom/x3dom/tree/master/src/nodes/Rendering
https://github.com/x3dom/x3dom/blob/master/src/nodes/Rendering/Coordinate.js
b. Event utilities: simple input-output type conversion algorithms.
BooleanFilter
BooleanSequencer
BooleanToggle
BooleanTrigger
IntegerSequencer
IntegerTrigger
TimeTrigger
EventUtilities component is not found in source tree,
https://github.com/x3dom/x3dom/tree/master/src/nodes
X3D Abstract Specification, Event Utilities component
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/utils.html
Basic Examples Archive: example Javascript proto implementations
http://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityPrototypesIndex.html
http://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityExamplesIndex.html
Applying and improving developer documentation for new nodes would be further important to accomplish at the same time. Not seeing a "How to Add a Node" section, however...
X3DOM Developer API Documentation
https://doc.x3dom.org/developer/index.html
c. Prototype declarations and instances. As ever, prototypes remain fundamental and are a key part of extensibility, literally the "X" in X3D.
There have been on-again/off-again efforts to define and implement a Prototype Expander algorithm as a preprocessor for X3D players. Seems like a good time to resume working at this.
https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter14-Prototypes/MaterialModulatorPrototypeExpandedIndex.html
http://web3d.org/pipermail/x3d-public_web3d.org/2016-July/004982.html
and many follow-on threads, steadily progressing that work, especially
Source is somewhere in:
https://github.com/coderextreme/X3DJSONLD
... and so on. Possible?
It will be great if some X3DOM developers might "step up" to show that node addition is do-able.
Hopefully this list helps triage simple/moderate/advanced work that is needed.
Have fun with X3DOM! 8)
On 9/1/2017 5:31 PM, Don Brutzman wrote:
> Am happy to report improvements and updates to the X3D node + statement inventory spreadsheets:
>
> http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx
> http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf
>
> Updates include readability improvements and addition of view3dscene (Castle Game Engine) support.
>
> Some interesting statistics follow, also attached in image.
> =====================================================================
> X3D Abstract Specification Cobweb Castle X3DOM X3D-Edit Xj3D
>
> Supported nodes and statements: 73% 57% 61% 87% 68%
> (251 total, X3D specification) 182 144 154 218 171
>
> Unimplemented nodes: 69 93 97 33 80
>
> needed for HTML5 support goals
> * required for X3D Immersive all all 19 all 2
> * suggested for HTML5 support 2 14 13 all 5
> * priority nodes missing: 2 14 32 0 7
> =====================================================================
>
> Am willing to add others, now that spreadsheet refactoring permits it. Please send an alphabetized verified list of supported nodes.
>
> Have fun with X3D!
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/20170901/12a8bb70/attachment.html>
More information about the x3d-public
mailing list