[semantics-public] X3D minutes 20 MAR 2020: COVID, X3D Ontology, PBR, Xj3D, Blender and MeshLab, CollisionCollection, IFS in CADInterchange, CORS

Don Brutzman brutzman at nps.edu
Sat Mar 21 17:13:11 PDT 2020

X3D Working Group teleconference

1. Usual coordinates for telcon today, appearing below.

Attendees: Anita Havele, Vince Marchetti, Nicholas Polys, Dick Puk, Don Brutzman.

Participant review confirmed that no member-only information is included in these minutes.

Editorial note:  these minutes keep getting longer and longer because we are doing so much!  Over coming month will strive to "divide and conquer" issues better through multiple separate email threads on the x3d-public list.

... meanwhile please keep charging!  8)

Recent meeting minutes:

[1.1] [x3d-public] X3D minutes 6 MAR 2020: X3D4 special meeting on PBR, issue progress,
       Metadata containerField defaults for XML encoding

[1.2] [x3d] X3D WG discussions Feb 28 2020

[1.3] [x3d-public] X3D agenda 21 FEB 2020: X3Dv4 schedule planning

[1.4] [x3d-public] X3D minutes 31 JAN 2020: X3Dv4 issues, XML Metadata containerField, consolidating mismatched field names

TODO: prior minutes have a number of pending actions and changes to apply that are only partially complete.  Efforts continue.


2. *News and Events*

2.a. COVID modeling.  Web3D Consortium Executive Director Anita Havele sent a letter to everyone.

[2.1] [x3d-public] Web3D COVID-19 Update

Like all of you, we are monitoring the latest updates about the COVID-19
virus and recommendations of our respective governments and World Health

We have been working through how best to respond to this rapidly
changing situation in a way that protects our staff, our members and the
community at large. Web3D members and partners, and similar
organizations have decided to suspend all travel until 30 April 2020.
In turn, all Web3D-organized events scheduled between now and 30 April
are to be held virtually or moved to a future time.

With so many events being cancelled across the world, we will resort to
engaging with you and the various communities we are active in through
conference calls, webinars, and direct communication. IEEE VR
<http://ieeevr.org/2020/>, where  Web3D will be presenting, has been
moved to an on-line <http://ieeevr.org/2020/online> free access
conference. Web3D 2020 <http://2020.web3dconference.org> Conference in
Seoul, South Korea has been postponed to 14-16 November 2020. We
continue to monitor the COVID-19 situation closely and hope that global
business normalizes by July for SIGGRAPH 2020
<https://www.web3d.org/event/siggraph-2020>in Washington D.C.

We appreciate the expertise that you have in running so many Working
Groups virtually, so we are confident that the activities of the Web3D
will move ahead as always. We will continue evaluating the situation and
communicate any updates to you in a prompt manner.

If you have any questions or concerns, please do not hesitate to reach
out to anyone on the Web3D Consortium

Thanks and Regards,
The Web3D Team


2.b. NIH COVID models: Nicholas notes that multiple assets are now available in X3D and VRML.

[2.2] COVID
> https://3dprint.nih.gov/discover?terms=covid&field_model_category_tag_tid%5B%5D=94

[2.3] Corona
> https://3dprint.nih.gov/discover?terms=corona&field_model_category_tag_tid%5B%5D=94

Am planning to put one or two in X3D Example archives to get alternative encodings including JSON and TTL (Turtle for Semantic Web).


2.c.  /X3D Ontology/. I gave a lightning talk on X3D Ontology for Semantic Web last week at

[2.4] 3rd U.S. Semantic Technologies Symposium, North Carolina State University

X3D Ontology for Semantic Web

Abstract. Extensible 3D (X3D) Graphics is the royalty-free open standard for publishing, viewing, printing and archiving interactive 3D models on the Web.  The X3D Ontology for Semantic Web provides terms of reference for semantic query of X3D models.

The X3D Semantic Web Working Group mission is to publish models to the Web using X3D in order to best gain Web interoperability and enable intelligent 3D applications, feature-based 3D model querying, and reasoning over 3D scenes.

• Establish best practices for metadata and semantic information/relationships using X3D as a Web-based presentation layer.
• Enable authors to utilize the power of X3Dv4 and HTML5/DOM together in any Web page utilizing a family of specifications and practices provided by the Semantic Web, such as HTML5 Microdata (microformats) and Linked Open Data, (possibly) MPEG-7 and related references.
• Align the X3Dv4 specification with these standards as best possible to further enable the Digital Publishing industry and communities.
• Describe value proposition for utilizing semantic information in concert with archival export, publishing, visualization, and printing of any 3D model as X3D.

It was very clear that the medical community is using Semantic Web in many many ways.

We had a good discussion Friday on various opportunities to share current and emerging X3D capabilities for medical visualization and reasoning.

... perhaps a weekly topic?? continue the journey of 1000 steps...
... then convert it to various formats including Turtle for Semantic Web queries
... for X3D Semantic Web group, what is roadmap needed for usefulness to medical community?
... broader convergence? diverse expertise needed, Semantic Web is always cross disciplinary.
... temper expectations.  we can't make any major contributions, but perhaps modest progress might help slightly with pandemic crisis.
... worth weekly agenda item to note activity.  if ready perhaps a breakout meeting at some point.

Our thoughts and prayers are with everyone affected by the pandemic.


2.d. /X3D4 Physically Based Rendering (PBR)/

Last week: Michalis Kamburelis described proposed X3D4 changes for Physically Based Rendering (PBR) and glTF support.  He has a large number of excellent models demonstrating these capabilities, and they feel ready for comparative implementation in other X3D4 players.  His implementations are using Castle Game Engine (view3dscene).  This work includes support for glTF model loading and corresponding changes to the X3D4 lighting model.  All of this is being achieved in a manner that can coexist with classically rendered X3D/VRML97 models.

This was a fully open meeting with everyone welcome to attend.  We are especially encouraging scrutiny by other implementers (X_ITE, X3DOM, FreeWrl). It was also great having IEEE 3D Body Processing group present.

Important point: with the nodes he is proposing for X3D4 PBR component, he is able to fully convert and render glTF examples. Yay!  The lighting equations match glTF, with full expectation of adding default values for all coefficient fields so that consistent model rendering is possible.

[2.5] [x3d-public] X3D Open Meeting on Physically Based Rendering (PBR) and glTF support, Anita Havele

[2.6] [x3d-public] PBR > freewrl experience

Thanks for great feedback on the list.  Of specific interest: Doug Sanden's implementation report

[2.7] X3D Physically Based Rendering (PBR) presentation

Minutes and reaction thread from earlier X3D4 PBR session:

[2.8] [x3d-public] X3D4 PBR specification review: updates and demos

We expect to have another specification editors' meeting in a few weeks to review the last round of changes.  Suggest approach is that we write it up to best make sense, then consider when to engage consultation with The Khronos Group to ensure that we are referencing and aligning with their work correctly.

Go Michalis Go!   8)


2.e. /Xj3D NPS branch/ upgraded to Java 13 and moved from Sourceforge subversion to NPS gitlab server.  Runs on multiple operating systems (Windows, MacOSX, Linux).  Have successfully regenerated Viewpoint screen snapshots for all example scenes, also checked several thousand image updates into version control.

Regarding version numbering: This version was forked from Yumetech a number of years ago and includes all of that functionality.  This build currently supports most X3Dv3.3 nodes.  We are thinking about autogenerating X3D4 class stubs for bootstrapping X3D4 development.  We will likely be renumbering NPS Xj3D as v3.3 and v4.0 in future releases.

Release report:

[2.9.1] [x3d-public] NPS Xj3D 2.2 release available

[2.9.2] NPS Xj3D 2.2 beta

[2.9.3] X3D Resources, Examples: Scene Archives for X3D


2.f. /Web3D 2020/ Conference committee is waiting before considering revised submission dates that best support the deferred conference dates of 14-16 NOV 2020.  Subject to ACM SIGGRAPH approval, we hope that submission deadlines shortly after SIGGRAPH (i.e. early August) will work.
> [3.4] Web3D 2020 Conference postponed to November 2020
>       https://www.web3d.org/news-story/web3d-2020-conference-postponed-november-2020
> [3.6] SIGGRAPH ASIA, 17-20 November 2020, EXCO Daegu South Korea
>       https://sa2020.siggraph.org
> [3.5] SIGGRAPH 2020, 19-23 July 2020, Washington DC
>       https://www.web3d.org/event/siggraph-2020
>       https://s2020.siggraph.org
> [3.6] ISO SC24 annual standards committee meeting
>       By invitation to national bodies and Standards Development Organizations (SDOs) only.
>       27-31 July 2020, Host L3 HARRIS Technologies for US INCITS H3 committee, Melbourne Florida
>       Web3D membership has value!


3. Blender and MeshLab

Much recent progress!  And certainly there is MUCH to be done.  Each application's support for X3D needs work to reach stability.

a. Blender again has initial X3D export capabilities and improvement efforts have resumed.

[3.1] Fwd: Blender 2.8 X3D support is making progress

This includes outputs from X3D Validator assessing current Blender export plus X3DJSAIL integration.

[3.2] X3D Validator

[3.3] X3DJSAIL: Blender

b. MeshLab again producing releases after several years with no published changes.  Note 2020-03 is latest, dare we hope for monthly release cycle?!

[3.4] [x3d-public] consider renaming local variables in X3DJSAIL to support JSweet transpiler;
       X3DJSAIL release tests many new libraries

[3.5] Meshlab

[3.6] Meshlab-2020.03 release

[3.7] X3DJSAIL: MeshLab

These are important for X3D.  We will keep watching them closely.  Each is a candidate focus topic for future meetings.

Towards that end we have already collected a number of conversions at

[3.8] X3D Example Archives: X3D for Advanced Modeling, Conversions, Blender Default Box

which includes yesterday's testing notes:

[3.8] https://x3dgraphics.com/examples/X3dForAdvancedModeling/Conversions/BlenderIssues.txt

and a prior issues list at

[3.8] https://x3dgraphics.com/examples/X3dForAdvancedModeling/Conversions/BlenderConversionIssues.txt

These need to be converged.  Even better: can we create a wiki page to collect these?  Who wants to be coordinator for the community of interested modelers?

Similarly need update to

[3.9] X3D Projects Wish List

Query for all Blender issues related to X3D:

[3.10] Blender advanced search for "x3d" in Blender Maniphest (issue tracker) task:

My hope is that we can now begin to get full coverage for X3D3.3 established, in preparation for further upgrading X3D4 when ready.  To do that, enabling multiple contributors to "row in the same direction" will be important.

Michalis you have been posting fixes, how do you think we might best coordinate and proceed?


4. Recent topic: CollisionCollection/RigidBody and X3DBoundedObject interface

Nicholas mentioned slides by a student in Athanasios Malamos' multimedia group in TEI Crete during past Web3D Symposium that include these capabilities.  He is reviewing and re-implementing them.  There are three example scenes, deserves further interest.

> http://medialab.teicrete.gr/minipages/H-Anim/  
> http://medialab.teicrete.gr/minipages/H-Anim/X3DOM_Physics.pdf 
> http://www.medialab.teicrete.gr

See prior minutes for details on topic issue.  Thought since last time: if we don't implement this interface, it is hard to explain consistently with other X3D design principles.

> [6] [x3d-public] CollisionCollection implement X3DBoundedObject
>     https://web3d.org/pipermail/x3d-public_web3d.org/2020-February/011751.html
> [6.1] Mantis issue 1275: whether CollisionCollection and RigidBody implement X3DBoundedObject node
>       https://www.web3d.org/member-only/mantis/view.php?id=1275
> Seems simple, a parent node containing nodes with bbox fields should itself contain bbox fields.  Let's review.
> We agreed that 37.4.10 RigidBody should implement X3DBoundedObject.
> Argument was made via various use cases that CollisionCollection might or might not need to be used for bounding box detections.  Alternative might be to DEF/USE anything with a bounding box and let a corresponding Group or Transform hold those values... but that in turn would likely require a Switch whichChoice="-1" to avoid duplicate rendering.
> Use cares working around the hiding of bounding boxes within CollisionCollection are welcome.
> We haven't reached consensus yet... Pretty confusing for an author to construct all that, not yet clear what an effective design pattern would look like, and of note is that the primary purpose of CollisionCollection node is to hold "a collection of objects in the collidables field that can be managed as a single entity for resolution of inter-object collisions with other groups of collidable objects."  So it already has direct knowledge of all bounding box computations and thus could efficiently compose them into an outer bounding box.

Another issue, but we didn't have time to discuss today.  TODO further specification review and X3D unified object model checks.

> [7] [x3d-public] X3DBoundedObject always X3DChildNode ?
>     https://web3d.org/pipermail/x3d-public_web3d.org/2020-February/011787.html
> "Ignoring for second the exception, I think that means there is a opportunity for simplification of the hierarchy by requiring X3DBoundedObject to implement X3DChildNode."
> Thanks Andreas!
> More there, certainly seems worth following up.  We agreed it was worth further consideration, might possibly also resolve issue 1275.
> [7.1] Mantis 1282: is X3DBoundedObject always X3DChildNode ?
>       https://www.web3d.org/member-only/mantis/view.php?id=1282


5. Issue from QA testing: including IFS in CADInterchange profile?

[5.1] [x3d-public] CADInterchange profile: missing IndexedFaceSet, Geometry3D component?

Note that IFS requires tessellation of n-sided polygons, which might also be concave or even contain holes... (though can't an IndexedTriangleSet be concave or have holes as well?)

Workaround for <X3D profile='CADInterchange'> model is to add

	<component name='Geometry3D' level='2'/>
	COMPONENT Geometry3D 2

and then IFS is supported in that scene.

Nevertheless IFS is quite commonly implemented.  Should we add it to the profile?  Good discussion ensued.

CADInterchange is definitely designed to be simple, so some distillation of general models to fit within that palette is expected.  Wondering, does someone have code for converting IndexedFaceSet to IndexedTriangleSet?

Vince doesn't see a strong demand for IFS interchange/interoperability in other CAD formats.

Conceivably we might have a more advanced profile someday, CADInterchange + 3D printing + 3D scanning + any other cool stuff needed for advance use cases (Smart City perhaps?!)  That would be a logical place to add it IFS.

Decision: no, do not change spec, document the issue better, add further tests to diagnostic tools, add to Mantis (for record keeping) and then close without any spec change (now done).

[5.2] Mantis 1284: including IFS in CADInterchange profile?


6. *Metadata containerField in XML encoding*

> Lots of discussion in [1], [3] and other emails.  Improvement seems do-able, hopefully we are close to reaching consensus on devilish details.
> [8] X3D for Web Authors, Chapter 15, Metadata Information
>     http://x3dgraphics.com/chapters/Chapter15MetadataInformation.html
> [9] X3D Example Archives: X3D for Web Authors, Chapter 15 Metadata
>     https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata
> [10] Mantis, View Issues, filter 'metadata'
>      https://www.web3d.org/member-only/mantis/view_all_bug_page.php
> [11] [x3d-public] Update to proposed changes in Metadata nodes in X3D XML encoding
>      https://web3d.org/pipermail/x3d-public_web3d.org/2020-February/011796.html
> ... more, whew, it took a while to create the mantis issue even when more mail was omitted.
> [12] Mantis 1283: XML encoding: change X3D4 MetadataSet default containerField='value' ?
>      https://www.web3d.org/member-only/mantis/view.php?id=1283
> We agreed that no change to abstract architecture occurred, that initial examples seem correct, and that differences between the two styles were unambiguous as long as X3D version is known.
> We agreed that all aspects are thoroughly stated.
> Rephrase: this does break backwards compatibility for MetadataSet usage in X3D4 when default containerField values (i.e. omissions) occur.  So one simple conversion technique X3D4 <==> X3D3 is to list all containerField values in XML encoding before converting, and then the two forms are equivalent.
> Summary: can setting default MetadataSet containerField='value' in X3D4 XML encoding greatly reduce the verbosity of large MetadataSet records, without breaking anything?

Next step: pose two choices crisply for X3D4 XML encoding, then post to public for discussion on technical tradeoff preferences, then members decide.

p.s. membership has value!


7. X_ITE and CORS on local host

First, for conversions of X3D Example Archives to X_ITE presentation, just fixed encoding mismatch with X_ITE recommendations.

<X3DCanvas url='"BlenderDefaultBox.x3d"'>

corrected, url changed to src and double-quotes removed:

<X3DCanvas src='BlenderDefaultBox.x3d'>
	<p><b>Display error: X3D model not shown.</b></p>
	<p>Your HTML browser does not appear to support all features required by the
	<a href="http://create3000.de/x_ite" target="_blank">X_ITE</a> X3D player!</p>

All examples updated and deployed.  This correction works on website, for example

* https://x3dgraphics.com/examples/X3dForAdvancedModeling/Conversions/BlenderDefaultBoxX_ITE.html

but dragging local file into browser gets a CORS error, apparently because it is treated as file:///

Nicholas reports that running on localhost is handled differently because no local web server is present.  His tutorial for IEEE VR has a few slides on this.

Different servers are available for running locally...
- atom text editor with http extension;
- python -m SimpleHTTPServer
   (built in, must run in current directly)
- others etc.

Implications: authors deploying HTML/X3D for local usage need to have a localhost http server.

Seems strange that local files can't run, but this is a long-running decision by browsers.  Good to finally have an idea what the heck is happening!

We do need to document CORS requirements and this deployment issue better.  Perhaps X3D Scene Authoring Hints or another dedicated page, X3D Deployment Hints perhaps?  Whatever works.  TODO need to expose this knowledge.


Upcoming meeting topics:

Spatial Audio and Sound (after spec editors review Efi's PR pull request)
Continued issue review and resolution
Quality Assurance (QA)


6. *X3Dv4 Background Information*

Major pieces of work in progress and highly mature include:

a. glTF lighting and physically based rendering, Michalis Kamburelis

b. X3D Sound Component and HTML Audio, Athanasios Malamos and Efi Lakka (in a few more weeks, hopefully)

c. Projective Texture Mapping (PTM), Kwan Hee Yoo

d. Many specification improvements and additions.

Key references:

[1] X3D Version 4 Overview

[2] X3Dv4 Highlights

[3] X3Dv4 Implementations Status

[4] Draft X3Dv4 specification from SIGGRAPH, August 2019

[5] X3D Specifications: Schema and DOCTYPE Validation

[6] Mantis Issue Tracker (requires multiple sets of member login)

Web3D Consortium members can quickly see all X3Dv4 issues (with tag V4.0) by selecting the filter "X3Dv4" within mantis.

As specified in the reference pages, our next steps of implement/evaluate over the next quarter include
- finished specification prose in github,
- addressing all mantis issues,
- proper example X3D models available for each node/field,
- validation tools confirming examples are satisfactory,
- two or more implementations (X3DOM and X_ITE, FreeWrl and Castle Game Engine view3dscene),
- consensus by working group, approval by Web3D Consortium, submission to ISO.

Here are refined milestones from X3Dv4 Implementations Status page:

_Milestones Timeline_

* /26-31 July 2019/.    Publish draft specification plus examples and implementation updates at Web3D2019/SIGGRAPH 2019 conferences.
* /16 December 2019/.   Working group accepts X3Dv4 new-technology submissions, with rich capability set publicized for implementation work.
* /31 January 2020/.    Specification Editors provide ISO Working Draft on github for use and confirmation by Web3D Consortium members.
* /First quarter 2020/. Implement new components in X3D players, evaluate scene examples for conformance. Publish weekly progress updates.
* /When completed/.     Completed ISO Working Draft submitted to X3D Community, Web3D Consortium members, Web3D Board of Directors.
* /BoD approval/.       Working Draft upgraded to Committee Draft and submitted with NWIP to ISO.
* /Sequential updates/. Specification updates for 19775-2 Scene Access Interface (SAI), file encodings (XML, ClassicVRML, JSON etc.) and language bindings (JavaScript, Java, Python), and X3D Semantic Web (possibly 19775-3).

A draft schedule update appears ready, based on member discussions, but we are still watching world events and conference delays/cancellations closely.  More to follow when Board of Directors is ready - perhaps after the upcoming election.  Meanwhile much necessary work continues apace.


7. *Teleconference Information*

We are using the Web3D Consortium Zoom channel, to good effect.  It allows use of internet audio, screen sharing and chat with links.

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

         Join URL https://zoom.us/j/148206572 for X3D Working Group

One tap mobile
* US (New York) +19292056099,,148206572 #
* US (San Jose) +16699006833,,148206572 #

Dial by your location, using (nine-digit number from Join URL above)

* US (New York) +1 929 205 6099
* US (San Jose) +1 669 900 6833

Additional information

         Web3D Teleconference


Membership has value!  Please join and support and participate.

[99] Join the Web3D Consortium

Steady progress throughout.  Thanks for all efforts and stay safe.

Have fun with X3D!  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 semantics-public mailing list