[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