[x3d-public] coordinated X3D4 update X3DUOM, XML schema DOCTYPE, X3DJSAIL Java, X3DPSAIL Python, X3D Ontology, X3D Tooltips
Don Brutzman
brutzman at nps.edu
Sun Apr 19 20:53:06 PDT 2020
Release announcement: coordinated updates are now published for
- X3D XML Schema and DOCTYPE
- X3D Unified Object Model (X3DUOM)
- X3DJSAIL: X3D Java Scene Access Interface Library and Java 14 testing
- X3DPSAIL: X3D Python Scene Access Interface Library
- X3D Ontology
- X3D Tooltips
=============================================================================
a. *X3D XML Schema and DOCTYPE*
X3D XML Schema update activity:
https://www.web3d.org/specifications/x3d-schema-changelog.txt
https://www.web3d.org/specifications/x3d-dtd-changelog.txt
7 APR 2020, brutzman
- Rename Humanoid Animation (HAnim) simpleType enumeration lists for clarity:
featurePointNameValues -> hanimFeaturePointNameValues
segmentNameValues -> hanimSegmentNameValues
jointNameValues -> hanimJointNameValues
- (v4.0) add displayBBox field to X3DBoundedObject, Mantis 1277
- (v4.0) rename isPickable as pickable for naming consistency, Mantis 1287
- (v4.0) X3DLayerNode, Layer, LayoutLayer implements X3DPickableObject with
fields objectType pickable and visible, Mantis 1287
- TODO (v4.0) CollisionCollection contains nodes with X3DBoundedObject interfaces, so
TODO CollisionCollection needs to be marked in specification as X3DBoundedObject as well.
- TODO (v4.0) PointSet, LineSet, IndexedLineSet implement X3DComposedGeometryNode
similar to other geometry nodes, allowing Normal and texture coordinate children
- TODO HAnimJoint inherits X3DGroupingNode but interfaces aren't directly defined,
bugfix needed in X3DUOM
X3D XML Schemas v3.0-4.0 and corresponding documentation updated at
X3D Specifications: Schema and DOCTYPE Validation
http://www.web3d.org/specifications
notably
http://www.web3d.org/specifications/x3d-4.0.xsd
http://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0.html
=============================================================================
b. *X3DUOM*
The X3D Unified Object Model (X3DUOM) is a full set of object-oriented interfaces for all nodes, fields and statements in the X3D Architecture Specification.
X3D Unified Object Model (X3DUOM)
https://www.web3d.org/specifications/X3DUOM.html
notably
https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml
=============================================================================
c. *X3DJSAIL Java*
X3D Java Scene Access Interface Library (X3DJSAIL) supports programmers with standards-based X3D Java interfaces and objects, all as open source.
https://www.web3d.org/specifications/java/X3DJSAIL.html
X3DJSAIL tests under Oracle Java 14 testing is satisfactory for under Apache Netbeans 11.3 (new release). Further testing is showing latest OpenJDK to be fully robust. Recent upgrade to Ant also worked fine. Compiled bytecode is maintained at Java 8 for maximum interoperability.
Example smoke tests and unit tests are maintained as follows. Keeping logs in version control provides a robust diagnostics whenever outputs change.
https://www.web3d.org/specifications/java/X3DJSAIL.html#Examples
HelloWorldProgram.java source
https://www.web3d.org/specifications/java/examples/HelloWorldProgram.java
HelloWorldProgramOutputLog.txt
https://www.web3d.org/specifications/java/examples/HelloWorldProgramOutputLog.txt
Default Java development environment is
Apache Netbeans 11.3
https://netbeans.org
Java OpenJDK 12.0.2
https://jdk.java.net/12
Apache Ant 10.7
http://ant.apache.org
Configuration details for Java developers supporting each of these tools is maintained at
NPS Savage Developers Guide
https://savage.nps.edu/Savage/developers.html
=============================================================================
f. *Python X3D Language Binding*
"The x3d.py Python X3D Package supports programmers with Python interfaces and objects for standards-based X3D programming, all as open source."
Python Package Index (pypi) project: x3d v0.0.25
https://pypi.org/project/x3d
Python X3D Package x3d.py
https://www.web3d.org/x3d/stylesheets/python/python.html
Approximately 3950 X3D Examples have been converted to python, then loaded to perform self checks. The vast majority pass, bug tracking continues.
X3D Resources, Examples: Scene Archives for X3D
https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
Hello World (python)
https://www.web3d.org/x3d/content/examples/HelloWorld.py
Improvements continue with current focus on confirming correct .x3d export with other encodings to follow. Effective PyPi distribution can eventually lead to Jupyter Notebook, Anaconda and Apache Zeppelin distributions too, so there will be no shortage of future Python X3D work to pursue!
=============================================================================
d. *X3D Ontology*
All expressions for X3D Ontology are easily updated from X3DUOM via XSLT stylesheet autogeneration.
* X3D Ontology for Semantic Web
https://www.web3d.org/x3d/content/semantics
* X3D Ontology 4.0
https://www.web3d.org/x3d/content/semantics/ontologies/X3dOntology4.0.ttl
with descriptions online at
* X3D Ontology for Semantic Web, December 2019
https://www.web3d.org/x3d/content/semantics/documentation/presentations/X3dOntologyForSemanticWeb.pdf
* X3D Semantic Web Working Group: Collected Concepts
https://www.web3d.org/x3d/content/semantics/documentation/workshops/X3dSemanticWebWorkingGroupCollectedConcepts.2019July27.pdf
=============================================================================
e. *X3D Tooltips*
X3D Tooltips are frequently checked for correctness and used as part of X3DJSAIL Javadoc. They are convenient place to "check first" for questions since entries for each node and field have numerous links to all related specifications, resources and documentation.
Extensible 3D (X3D) 3.3 Tooltips (with X3D version 4.0 draft)
https://www.web3d.org/x3d/tooltips/X3dTooltips.html
Questions and answers for X3D usage on the x3d-public mailing list often lead to hints and warnings. Thanks for all suggestions.
=============================================================================
g. *Looking Ahead*
We are working to implement and evaluate all X3D version 4 technical contributions.
X3D4 Strategy
https://www.web3d.org/x3d4
X3D4 Implementations
https://www.web3d.org/X3Dv4-implementations
X3Dv4 Draft is Moving In Fast: 3D Everywhere! presentation from Web3D 2019 Conference, Los Angeles, 26-28 July 2019.
https://www.web3d.org/sites/default/files/page/X3D%20Version%204%20Strategy/X3dVersion4Web3d2019LosAngelesCaliforniaBrutzman.29JUL2019.pdf
GitHub: Web3D Consortium specification drafts (members only)
https://github.com/Web3dConsortium
All of coordinated work reported here, plus the X3D JSON encoding and Github specifications and Mantis issues, are all steadily tracking X3D4 progress.
Will you be ready? "Luck favors the prepared mind." - Louis Pasteur
Have fun with X3D4! 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
More information about the x3d-public
mailing list