[x3d-public] updated X3D node, statement inventory spreadsheets: X3DOM node addition recommendations
Don Brutzman
brutzman at nps.edu
Fri Sep 1 18:16:05 PDT 2017
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 --------------
A non-text attachment was scrubbed...
Name: X3dNodeStatementInventoryStatistics.2017September1.png
Type: image/png
Size: 31512 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170901/6247711a/attachment-0001.png>
More information about the x3d-public
mailing list