[x3d-public] X3D working group minutes 7 June 2019: tracking implementation support

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Fri Jun 7 12:17:39 PDT 2019

0. *Attendees* Anita Havele, Vince Marchetti, Nicholas Polys, Dick Puk, Jakub Flotynski, Don Brutzman.

Members and invited experts are welcome.  We are an open organization.

Updated online: draft revision to X3D Node and Statement Inventory Comparison.


Today's goal: tracking progress of implementation support for draft X3Dv4 specification.


Information inputs are always welcome.  With much X3D activity occurring there is typically plenty to review each week, ensuring that our progress continues to be clearly recorded and communicated.

Confirmed: all information in these weekly minutes is releasable publicly.


As before, invited experts are welcome to join members in this important activity.  Please let us know if you have an important topic to present or discuss.

Today we switched to Zoom channel, to good effect.  It allows use of internet audio, screen sharing and chat with links.  Anita will share future settings, hopefully it will be a stable connection.  We expect to document this information for members on the following page.

	Web3D Members: Teleconference Information

We meet regularly on Fridays 0800-0930 pacific.  To join the teleconference:
	Web3D Teleconference

The X3D Graphics Working Group addresses all X3D specification issues and coordinates the technical development of future improvements.

Each week we report out both public and member-only information - membership has value.  To become a Web3D Consortium member:
	Join the Web3D Consortium


1. *Prior meeting minutes*

Thanks to cochair Vince Marchetti for moderating several recent meetings.

	[x3d-public] X3D meeting 10 May 2019: Physically Based Rendering going into specification, X3Dv4 implementation updates

	[x3d-public] X3D minutes 17 May 2019: X3Dv4 specification update planning

	[x3d] X3D WG Call minutes May 24 2019

There was some useful discussion last week but no minutes.

At this point we discussed recent meetings and current developments.

a. ISO Status.
- Still awaiting final final ISO review and approval of HAnim v2.  We think they are finalizing IS (International Standard).  Once done, we publish on web3d.org site.
- Good news: Web3D made a number of recommendations regarding Web publication of standards.  All (or nearly all) suggestions were formally accepted by parent organization JTC-1, and that resolution has gone forward to relevant ISO editorial board.
- ISO SC24 annual planned in Takamatsu Japan, 26-30 AUG 2019.  Dick and Don are making preparations to attend, as are other international participants.
- We will review all pending decisions and recommendations by providing a Plan of Actions Milestones (POAM) at Web3D 2019.
- Likely 2020 meeting will be in Melbourne Florida, hosted by Harris Corporation.
- Potential for Web3D Consortium membership renewal in INCITS, the USA standards body.  There has been some discussion about mutual memberships, further followup needed with Bill Protzman.

b. CAD Design Printing Scanning Working Group.  Steady work continues on PointProperties.

c. Geospatial Group.  Multiple presentations planned for CARTO BOF:  MBARI canyon exploration using X3DOM VR, SPIDERS3D new release, and highlights of Virginia Tech geospatial models.

d. HAnim Working Group.  Steady work continues on implementing HAnim 2, proposing Level of Expression (LOE) facial models, designing various organ models.  Meeting planned for SIGGRAPH as part of Korean Chapter meeting.

Agenda review yielded an additional topic:

d. Web3D Birds of a Feather (BOF) meeting at SIGGRAPH:


Monday July 29, 2pm - 6pm	
Web3D Korea Chapter Standardization Meeting

Tuesday Web3D BoF, may include Khronos regarding glTF in X3Dv4.  High priority is describing X3Dv4 progress and Web3D Consortium membership.  Focus on 3D authors and end users is important - not just developers.  Can we do it all, hopefully?  Further discussion planned by Communications Team next Wednesday to finalize the BoF agenda.


2. *Recent and Upcoming Events*

Thanks for patience with my partial presence over past weeks, am keen for all of us to keep building momentum for our upcoming annual milestone conferences.

If you want to participate in these compelling conferences, the time to register and reserve rooms is now!

a. Web3D 2019 Conference
	Los Angeles, 26-28 July

b. SIGGRAPH 2019
	Los Angeles, 29 July - 1 August

c. News release:
	Castle Game Engine, May Engine Features – FMOD, warmup cache, FpMake and InstantFPC docs…

d. Interesting thread on Web3D Twitter feed:


> 🌻Montana DuskWolf MvB©
> Replying to @Web3DConsortium @jimvideo
> Given, X3D is a flavor of XML. But X3D has taught me a lot about the concepts of just how versatile XML can be. I used to think all I needed was HTML. Then the light went on for me. I'm discovering things about XML I never understood before.

e. SIGGRAPH has published member profiles for Nicholas Polys and myself.  Online at



f. Communications team meets weekly on Wednesdays to continue promoting Web3D, X3D and HAnim.  Member participation welcome.  Public summary:

	Web3D Communications Team


3. *Status of X3D Language Bindings and File Encodings*

a. Humanoid Animation (HAnim)
- HAnim specifications are a closely related ISO standard
- FDIS submitted to ISO, final comment resolution in progress.
- New zip available to members containing both volumes together.
- HAnim version 2 is included already in X3Dv4
- Resuming work on implementing in X3Dv4 by Joe Williams and Don Brutzman, next step is further implementation.


b. JSON encoding for X3D
- Build outputs now in version control, available at
- X3DJSONLD summary, status
- JSON Schema update
          https://json-schema.org still at draft-07
          JSON Schema is a vocabulary that allows you to annotate and validate JSON documents.
- Review requested:  Work In Progress Feedback
    "The forthcoming draft is now feature-frozen and entering the final four-week feedback period before publication. This final review will last from May 27th to June 24th, 2019. [...]"

- TODO: can X3D JSON schema matching draft-08 be validated?
- TODO: update X3D JSON schema to match next version, then autogenerate from X3DUOM
- TODO: create X3D JSON specification


c. X3D Java language binding
- Build outputs now in version control, available at
- Stable, complete and working using
          X3DJSAIL: X3D Java Scene Access Interface Library
- TODO: review and update Java specification

Software progress: X3DJSAIL has integrated two open-source implementations for Efficient Extensible Interchange (EXI) compression for XML and JSON:  Exificient and OpenEXI.  Current work is focused on facilitating round-trip comparison testing between the two.  Next capabilities on deck are XML Encryption (privacy) and XML Signature (authentication) using Apache Santuario libraries.

	X3D Java Scene Access Interface Library (X3DJSAIL)

d. X3D Python Language Binding
- active work implementing by John Carlson and Don Brutzman, good assistance by Loren Peitso and Andreas Plesch.
- We are using X3DUOM/X3DJSAIL as an initial implementation to test Python syntax alternatives.
- We continue tuning compilability and "Pythonic" elegance of syntax candidates.
- Progress: now applying build processes to all X3D Example Archive scenes, updates are published.

	[x3d-public] updates to X3DJSAIL, plus python and java versions of X3D Examples

- Key blocker: Pyjnius wrapping of X3DJSAIL is mapping of return types sometimes reverts to parent interfaces instead of the same class.  Investigating direct mapping within our customized Pyjnius configuration which may fix this.
- Syntactic terseness: need to move "Import" statements for each node into Pyjnius binding for X3DJSAIL (which we are calling X3DPSAIL).
- Deployment: create a PIP module for X3D Python (currently would require Java support).
- Deployment experimentation with Jupyter Notebook has begun, looking at multiple ways to compute or present X3D.
- TODO write up implementation capabilities and then create specification.
- TODO someday a second implementation, hopefully with Korea Chapter's forthcoming C SAI implementation.


e. X3D C, C++, C# Language Bindings
- Last reviews at Web3D Korea Chapter meeting Seoul January 2019
- TODO update status, plans for SIGGRAPH code releases and encouraging additional use.
- TODO: create specifications
- Wondering, might a monthly "code drop" (or somesuch) permit further review and familiarization?
- Note that compilation is requirement for eventual submission to ISO
- Recurring review might help attract second implementation for each


g. X3DUOM:  X3D Unified Object Model (X3DUOM)

- X3DUOM is a full set of object-oriented interfaces for all nodes, fields and statements in the X3D Architecture Specification.
- Continued small improvements in X3DUOM and annotated X3D XML Schemas occur each week as we continue implementing and evaluating both X3DJSAIL for Java, and (presumably X3DPSAIL for) Python.  Special thanks to John Carlson for extreme coding!
- Experimental integration of X3DUOM as first-class programming object in X3DJSAIL, created via Java API for XML Binding (JAXB).
- Cross-referencing types and documentation as X3D Semantic Web Working Group begins to compare 3D ontologies.


4. *X3D Node and Statement Inventory Comparison*

Draft revision updated online for review.  Note addition of HAnimMotion and PointProperties nodes.  Discuss next steps.


Prior version is approximately the high-water mark for X3Dv3.3, maintained in prior version control history and at these addresses:



Most of the inventories are generated by comparing to each implementation's documentation.

We considered adding implementation support in X3DJSAIL, X3DPSAIL, C/C++/C# SAI build... done.  I've added another spreadsheet tab for X3D SAI Codebases.

TODO: We request that interested developers and users update their node coverage in preparation for the conference. We hope to show updated support for each X3D player (X_ITE, FreeWrl, Castle Game Engine, X3DOM) and X3DJSONLD.

Also added column for X3D JSON Schema.  Plan is for John Carlson to update our design patterns for X3D JSON Schema using new draft v08, then we will automate production from X3DUOM (for all versions of X3D, versions 3.0 3.1 3.2 3.3 and 4.0).  Of note is that, similar to .java and .py source, .json versions of entire X3D Examples Archives are already published online. More valid content ahoy!

Perhaps we should add another tab for authoring support?  Can put Titania and X3D-Edit there, for starters.


5. *Implementation support for draft X3Dv4 specification*

Good news from recent Board and X3D meetings:  the Web3D Board of Directors has approved the release of an X3Dv4 specification draft at Web3D 2019 and SIGGRAPH conferences.  Release will likely be 1-2 weeks in advance.  Currently releases are available as .zip archives for Web3D members in GitHub.

In addition to a special spec release at Web3D and SIGGRAPH 2019 next month, we'd like to make easily viewable versions of draft X3Dv4 specification online for members all the time.

Vince will investigate whether direct viewing of pages (vice source) is possible directly in Github.

Page for tracking progress:

	X3Dv4 Implementations Status

More work needed on this page, updates will continue in advance of next week's meeting.


6. *References and Resources*


	X3Dv4 Implementations Status

	X3Dv4 Development page

	X3D Specification Relationships

	Mantis Issues (requires member login, twice)

	Web3D Specifications on Github: X3D (members can request access)

Communication of priorities is welcome.  We will focus on one or two topics every week.


7. *Upcoming topics*

Next week: TBD

- Projective Texture Mapping (PTM) component.
a. Mantis issue 1255 created for keeping track of status.
b. TODO Add zip of spec/examples/information that has been submitted on mantis issue
c. Prose already present in github components directory as ProjectiveTextureMapping.html
      43  Projective Texture Mapping Component

d. TODO Add example scenes to X3D Basic Examples Archive
e. TODO List existing implementations, then issue call for additional implementations.

Topics list:

- Annotation Component
- Much work already accomplished.  Time to land any existing draft prose in github specifications, and review what work is occurring.

- X3D Architecture Design and Event Passing, compare implementations
a. how have X3DOM and X_ITE each implemented events?
b. What differences exist?
c. Are ROUTE connections consistent?
d. X3DOM is still missing some important/simple Event Utility nodes - is there a problem?
e. Highlight how does syntax disambiguate handling of HTML5 Script and X3D Script?
f. Reviewing our tagging of Mantis issues as #X3Dv4 for completeness.
g. Ensure that goals and concepts on relationships between HTML5 and x3D are clearly expressed.

- MetadataSet implementation efforts

- Tagging and prioritizing Mantis issues.

- Numerous things to drive to completion, who is doing what?

- Jupyter notebook explorations

Related work:
- X3D and other BOFs at SIGGRAPH, how to best execute these?
- Carto BOF, several candidates are on agenda.
- X3DOM release status?
- Unity3D exporter release status?


No major showstoppers are noted, rather we continue getting closer to a comprehensive X3Dv4-HTML5 architecture each week.

All feedback and engagement welcome.  Steadily progressing with X3Dv4!  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