[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