[x3d-public] X3D minutes 15 May: X3D4 progress review, numerous references

Don Brutzman brutzman at nps.edu
Sun May 17 21:34:28 PDT 2020


1. *Welcome!*

Our agenda for weekly X3D teleconference this week: various X3D4 component progress updates and Mantis, revealing a perhaps-astonishing scope of activity.

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

Confirmed: no member-only information included in these minutes.

Thanks for many contributions this week, really inspiring.  Apologies for delayed posting of these detailed minutes.

We will meet at our regular time, 0800-0930 pacific Friday 8 May 2020.  Zoom room coordinates are now linked via the Web3D Calendar. Note that all Web3D zoom conference lines are now protected by password.

[1.1] Web3D Teleconference Information
        https://www.web3d.org/member/teleconference-information

[1.2] Web3D Calendar
        https://www.web3d.org/calendar/month
        https://www.web3d.org/calendar/x3d-graphics-working-group/2019-09-13t150000-2019-09-13t163000-2019-09-20t150000-2019-09

[1.3] [x3d-public] X3D minutes 8 May 2020: renewed HAnim progress, X3D4 geospatial assessment
       http://web3d.org/pipermail/x3d-public_web3d.org/2020-May/012641.html

----

2. *Outreach*

Anita showed a progress report for her new site to showcase X3D usage, authoring and value.  Great discussion.

Still private but user walkthrough looked excellent on zoom.  Very impressive!  Looking forward to continued progress.

----

3. *Website*

In the course of meeting work, we noted some needed improvements needed on STANDARDS > POST A COMMENT

[3.1] Web3D Standards Comment Form
        https://www.web3d.org/content/web3d-standards-comment-form

Comments on this website page:
a. "Abstract Definitions" -> Architecture
b. Add X3D version 4 to menu selections as default
c. H-Anim to HAnim on menu item

----

4. *X3D4 Progress Review*

Updates for all current activity: summaries by principal protagonists welcome so that everyone has a sense of progress.  We are keen for everyone to see these excellent emerging opportunities, and engage as you think best.

a. Annotations component.  Much detail found in Google drive directory:

[4.1] CAD DPS teleconference minutes; Proposal 1, Proposal 2 Annotation Component
        https://drive.google.com/drive/folders/13aDbqsV7yuhVdVdRtjW-ieyH-QfGynXf

[4.2] X3D4 Clause 42, Annotation Component
        https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01/components/annotation.html
        Copy attached.

This has been hanging "in a void" for a long time, and needs both champion and clear path forward.  Has lingered without progress for some time.  Deeper analysis can be found in minutes last month.

Seems appropriate for longer-term consideration by Web3DUX Working Group.  Absent other activity, does not look ready for X3D4.

Will document this deferral in Mantis.

[4.3] Mantis 1299, Annotation Component deferral
       https://www.web3d.org/member-only/mantis/view.php?id=1299

----

b. *Audio/Sound component*

Lots of conceptual progress this past week, particularly on object hierarchy and naming, parent-child field relationships to build an audio graph, matching JavaScript Web Audio API functionality in X3D, and external animation via ROUTE events.  Currently redefining names and expect to refactor existing X3DOM implementation to "impedance match" the mapping.

Draft specification prose is checked in, update expected when node naming and object hierarchy refactoring is complete.  Goal is 2-3 weeks.

Steady work by Efi Lakka and Thanos Malamos continues, updated examples and 1-2 implementations to follow.

Prognosis: positive.

[4.4] X3D minutes 1 May 2020: X3D4 Audio and Sound Component
       https://web3d.org/pipermail/x3d-public_web3d.org/2020-May/012464.html

[4.5] X3D Audio/Sound review minutes: alignment with W3C Web Audio
       https://web3d.org/pipermail/x3d-public_web3d.org/2020-May/012601.html

Doug has explored implementation using LabSound in C/C++ so that implementation independent of Web browsers seems feasible.

(... time to cue Web3D Corporate Anthem??  For the moment, theme from Mission Impossible...)

----

c. *CAD Design Printing Scanning*

Regular meetings and key topics each week have built a strong foundation of industrial-strength examples, and liaison partnerships.

Point properties, scanning and metadata improvements in this group are providing fundamentally important value additions in X3D4.

----

d. *DIS component implementation*

Lots of progress implementing DIS7 implementation in Java, announcements forthcoming in next 2 weeks.

Current open-source implementation work is recording PDU behavior streams as repeatable streams, also creating X3D TimeSensor/PositionInterpolator/OrientationInterpolator replay chains, also exporting distilled LineSet to show track, this week will create WaypointInterpolator prototype instances.  Thesis publication expected in late June.

Path forward to implementation in other programming languages (as performed in OpenDIS version 4) will be possible but more work required.

Only smallest of editorial adjustments to X3D4 specification expected.

----

e. *Geospatial component*

Good review last week, comments need to be entered in Mantis, online examples need review/refinement, once that is clearly defined then champions for implementation adjustments needed.

[4.6] X3D minutes 8 May 2020: renewed HAnim progress, X3D4 geospatial assessment
       https://web3d.org/pipermail/x3d-public_web3d.org/2020-May/012641.html

We will again review GeoSpatial component changes at the end of June to see what is ready for specification integration.

Don expects to add functionality to X3D-Tidy that takes a GeoMetadata node (or HAnimHumanoid info field of metadata string pairs) and turns that information into a MetadataSet structure. Examples follow.  This will regularize all of our metadata throughout the scene graph.  Can then decide if old GeoMetadata (and HAnimHumaonid) metadata scheme is deprecated.

* <GeoMetadata summary='"title" "Martin's Trips" "software" "text2geovrml (C) 2000 SRI International" "models" "46"'/>

* <HAnimHumanoid DEF='boxman_Humanoid' info='"authorName=James Smith" "authorEmail=james at vapourtech.com" "copyright=(C) 2000 James Smith - james at vapourtech.com" "humanoidVersion=2.0"' name='Humanoid' version='2.0'>

[4.7] Mantis 1300: Consistently unify metadata model for GeoMetadata and HAnimHumanoid info array
       https://www.web3d.org/member-only/mantis/view.php?id=1300

----

f. *glTF Physically Based Rendering and Lighting components*

Michalis Kamburelis reports steady progress.  We are planning another review meeting in early June.  Our goal is to have draft glTF PBR and lighting in draft form ready for review by group (and other implementers) by mid June.

[4.8] X3D4 draft architecture specification, Pull Request PR8
       [WIP] PBR and other lighting and material upgrades #8
       https://github.com/Web3DConsortium/X3D/pull/8

[4.9] Castle Game Engine (CGE): Scene graph (X3D)
       https://castle-engine.io/vrml_x3d.php

[4.10] Castle Game Engine (CGE): News
        https://castle-engine.io/wp

[4.11] Castle Game Engine (CGE): Twitter
        https://twitter.com/castleengine

We had some concern about deferring Projective Texture Mapping (PTM) until glTF is ready but Michalis says go go go... no delays needed.

Here we go - still and again!   8)

----

g. *Humanoid Animation (HAnim)*

New spec is out after many years work!  Many thanks all around.  Biggest advancement is addition of HAnimMotion node for motion animation.

See [4.6] and [4.7] for a number of details.

Further current work each week by Joe Williams, John Carlson and Don Brutzman to update all HAnim examples in a new examples archive.  This is driving improvement of multiple Quality Assurance (QA) and scene-improvement tools.  Further adoption by players expected as verified examples get published.  Hoping for corresponding updates in several authoring tools as well.

[4.12] [x3d-public] Humanoid Animation X3D Examples Archive, Characters Legacy, Joe Skin Texcoord Displacer Kick
        https://web3d.org/pipermail/x3d-public_web3d.org/2020-May/012624.html

[4.13] X3D Example Archives: Humanoid Animation, Characters Legacy, Joe Skin Texcoord Displacer Kick
        https://www.web3d.org/x3d/content/examples/HumanoidAnimation/CharactersLegacy/JoeSkinTexcoordDisplacerKickIndex.html

Future work: as glTF mapping and HAnim2 mapping examples/implementations are complete, need to compare glTF skeleton representations.  Is there a mapping?  Looks like important implementation/converter work, TBD whether any changes to X3D specification need to be considered for aligning with glTF characters.  Nicholas provided a large number of relevant references.

* https://www.khronos.org/files/gltf20-reference-guide.pdf
* https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_020_Skins.md
* https://en.wikipedia.org/wiki/Morph_target_animation
* https://github.com/KhronosGroup/glTF-Sample-Models/
* https://github.com/castle-engine/demo-models/tree/master/blender/skinned_animation

----

h. *Projective Texture Mapping (PTM) component*

Draft specification component and implementation by Dr. Kwan Hee Yoo is ready for final refinement, examples are prepared and tested in FreeWRL (and maybe X3DOM/X_ITE?).   We were thinking that once glTF PBR is stable in Shape and Lighting and Texturing components then we can finalize this component and encourage implementation updates.

Prognosis excellent, please stand by.  This will get put back on the agenda as soon as we are able.

----

i. *X3D Ontology for Semantic Web*

[4.14] X3D Ontology for Semantic Web
        https://www.web3d.org/x3d/content/semantics/semantics.html

[4.15] Minutes: coordinated X3D4 update X3DUOM, XML schema DOCTYPE, X3DJSAIL Java, X3DPSAIL Python, X3D Ontology, X3D Tooltips
        https://web3d.org/pipermail/x3d-public_web3d.org/2020-April/012221.html

Proceeding well.  No changes foreseen to X3D4 architecture, everything is mapping satisfactorily.

Multiple papers and presentations produced.  Jakub Flotynski and yours truly meeting weekly, occasionally with other contributions.

Key basis: 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."

[4.16] X3D Unified Object Model (X3DUOM)
        https://www.web3d.org/specifications/X3DUOM.html
        https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml

Next steps: represent accessType for each node/field, then devise SPARQL queries to report valid animation chains, then devise SPARQL queries

TODO: standardization plan, is the ontology work another encoding of X3D models?  Where does it best fit in the X3D constellation of specifications?

[4.17] X3D Graphics Specification Relationships
        https://www.web3d.org/specifications/X3dSpecificationRelationships.png

----

j. *Web3DUX User Experience*

This group has started.  We expect that much interesting progress utilizing X3D4 + HTML5 will benefit from this forum.

[4.18] Web3DUX working group
        https://www.web3d.org/working-groups/web3d-user-experience

[4.19] Web3DUX working group minutes 6 May 2020
        https://web3d.org/pipermail/x3d-public_web3d.org/2020-May/012627.html

----

k. *X3DJSAIL Java Implementation*

This library implemenation is tracking, automatically updated to match X3D4 via X3DUOM updates, new releases deployed regularly.

"X3D Java Scene Access Interface Library (X3DJSAIL) supports programmers with standards-based X3D Java interfaces and objects, all as open source."

[4.20] X3D Java Scene Access Interface Library (X3DJSAIL)
        https://www.web3d.org/specifications/java/X3DJSAIL.html

----

l. *X3DPSAIL Python implementation and Jupyter notebook*

Tracking, automatically updated to match X3D4 via X3DUOM updates, improved examples and new releases deployed regularly.  Test results are appreciated and helpful.

"The x3d.py Python X3D Package supports programmers with Python interfaces and objects for standards-based X3D programming, all as open source."

[4.21] Python Package Index (pypi) project: x3d v0.0.25
        https://pypi.org/project/x3d
	
[4.22] X3D Python Scene Access Interface Library (X3DJSAIL)
        Python X3D Package x3d.py
        https://www.web3d.org/x3d/stylesheets/python/python.html

----

m. *X3D JSON encoding and JavaScript SAI implementation for Node.js*

[4.23] X3D to JSON Stylesheet Converter
        https://www.web3d.org/x3d/stylesheets/X3dToJson.html

"The X3D to JSON stylesheet converts .x3d XML to .json, supporting the forthcoming JSON Encoding for X3D Graphics."

Remaining shortfall:  JSON Schema has advanced to v9 draft but very slowly.  Until stable and supported by tools, we cannot effectively update the original X3D JSON Schema written by Roy Walmsley.

Continuous experimentation and development is being performed by John Carlson and X3DJSONLD.

[4.24] coderextreme / X3DJSONLD
        https://github.com/coderextreme/X3DJSONLD

Downstream: we need an autogenerated implementation of JavaScript SAI to confirm the JavaScript encoding specification next year.  RUnning under Node.js in an X3DUOM and X3D Specification compatible way will be powerful.x3dom.

----

n. *X3DOM implementation support for X3D4*

Progressing steadily, key implementation for HTML5.

Updated last week, all models in X3D Example Archives are now referring to the X3DOM dev release.  This should speed deployment of new features and encourage feedback when things aren't work.

[4.25] X3DOM: Instant 3D the HTML way!
        https://www.x3dom.org

"Integrate 3D content seamlessly into your webpage - the scene is directly written into the HTML markup. No Plugins needed. Simply include a javascript file. Free for non-commercial and commercial purposes."

----

o. *X_ITE implementation support for X3D4*

Progressing steadily, key implementation for HTML5.

"X_ITE is a new 3D JavaScript library entirely written in JavaScript and uses WebGL for 3D rendering. Authors can publish X3D and VRML source online within an HTML5 page with X_ITE that works with Web browsers without prior plugin installation. This gives X3D authors the ability to displays content in 3D, using WebGL 3D graphics technology to display X3D content in several different browsers across several different operating systems. Since X3D is backwardly compatible, X_ITE can also be used as a VRML viewer."

[4.26] X_ITE X3D Browser, Have you seen this?
        http://create3000.de/x_ite/getting-started

Now at v4.6.10, incredibly excellent examples provided deserve your attention.

Titania authoring tool is also impressive - runs under Linux.

----

p. *FreeWrl implementation support for X3D4*

Progressing steadily, especially for rendering.

"FreeWRL is an X3D/VRML open source viewer for Windows, Linux, OSX and Android.  FreeWRL has had a long track record, is here to stay. X3D Components get added, problems get resolved. Program with GLSL Shaders using the X3D Shaders Component, put your models exactly where you want them with the Geospatial Component, or just throw triangles to the screen as Extrusions, IndexedFaceSets, TriangleSets, Circle2D, Disk2D, Spheres, Boxes, Cubes; the list goes on and on.  With royalty free open standards, your models will continue to render, year after year."

[4.27] FreeWrl home
        http://freewrl.sourceforge.net

----

q. Castle Game Engine view3dscene implementation support for X3D4.  Progressing, steadily, leading X3D4 functionality for glTF Physically Based Rendering (PBR), lighting and advanced texturing support.

"view3dscene is a viewer for many 3D model formats: X3D, glTF, VRML, Collada, 3DS, MD3, Wavefront OBJ, STL and (2D) Spine JSON. Explore the virtual world with collisions, gravity, animations, sensors, shadows, mirrors, shaders and more. You can also convert all models to X3D or VRML."

[4.28] Castle Game Engine (CGE) view3dscene
        https://castle-engine.io

----

r. Quality Assurance (QA) tools: schemas/DTDs, X3D Schematron, X3D Validator, X3D-Tidy, etc.  All are progressing in tandem and can be considered as resources for backup for other development work.

[4.29] X3D Specifications: Schema and DOCTYPE Validation
        https://www.web3d.org/specifications

[4.30] X3D Resources
        https://www.web3d.org/x3d/content/examples/X3dResources.html

[4.31] X3D Scene Authoring Hints
        https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html

[4.32] X3D Resources: Quality Assurance (QA)
        https://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance

[4.33] X3D Schematron
        https://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance

X3D Schematron rule checking verifies semantic correctness and completeness, detecting internal-consistency problems to help assure the quality and correctness of X3D scenes.  Now being extended to developfine-grained analysis of HAnim 2 conformance.

[4.34] X3D Tidy stylesheet
        https://www.web3d.org/x3d/stylesheets/X3dTidy.html

X3D Tidy helps authors automatically correct fixable errors in X3D scenes.

[4.35] X3D Validator
        https://savage.nps.edu/X3dValidator

X3D Validator provides a server-based suite of tests to help ensure the quality of X3D scenes and metadata.

Supports X3D3.3.  Needs a refresh to integrate multiple other tool updates and provide full X3D4 support, planned for June 2020.

----

s. X3D Tooltips: up to date and tracking

[4.36] Extensible 3D (X3D) 4.0 Tooltips
        https://www.web3d.org/x3d/content/X3dTooltips.html
        https://www.web3d.org/x3d/content/X3dTooltips.xml

This is an open resource that does not require access to member-only Github draft X3D4 specification.

Questions and improvements always welcome!

X3D Tooltips are also used to provide integrated documentation for [, 4.14] X3D Ontology[4.20] X3DJSAIL and [4.22] X3DPSAIL.

----

t. X3D Examples: tracking and demonstrating all progress, it is an X3D4 process requirement for new features to have one or more test scenes in order to confirm that two or more implementations work satisfactorily.

[4.36] X3D Resources, Examples: Scene Archives for X3D
        https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples

Currently 3993 total X3D scenes, all open source.  Contribution additions welcome.

----

u. X3D4 Converters

many capabilities existing, more emerging

[4.37] X3D Resources: Conversions and Translation Tools
        https://www.web3d.org/x3d/content/examples/X3dResources.html#Conversions

Need for improved ecology of tracking correct support and encouraging best practices.  There is actually a huge amount of activity, how do we move beyond "whack a mole" patterns towards broader, more comprehensive support?

Blender and Meshlab seem to be our most prominent tools to ensure are working well.

How can we track and improve support even more effectively?  Good role for someone to contribute.

Conservative estimate: each bug fix can lead to tens and hundreds of scene models working (with thousands of people influenced by published results).

In some way, good problems to have!  How to we continue making deliberate shared progress?

This is key to our overall progress.  Further good thinking and leadership on maximizing our many efforts is welcome.

[4.38] X3D Projects Wish List
        https://www.web3d.org/projects/wish-list

"Do you want to get involved?  Here's how.  There are many interesting projects with potentially broad impact that are looking for energetic developers.  Many activities are support the rapid evolution and development of the X3Dv4 specification."

----

5. *Next*

Planned for next week: begin adding last week's Geospatial component review issues into Mantis tracker.

[5.1] Mantis Issue Tracker
       https://www.web3d.org/member-only/mantis/view_all_bug_page.php

Clearly X3D4 is a team sport, and we're winning - go team go!!

Each week we will keep rotating through this (amazing) list, bringing forward whoever and whatever is ready.  All questions and improvements are welcome.

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: IEC WD3 19775-1r1_200x, 42 Annotation component.pdf
Type: application/pdf
Size: 201832 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200517/3e0b18ae/attachment-0001.pdf>


More information about the x3d-public mailing list