[x3d-public] X3D working group minutes 12 JUL 2019: X3Dv4 progress review

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Fri Jul 12 09:41:57 PDT 2019


Here are minutes for today's meeting.

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

	http://www.web3d.org/x3dv4-implementations

Lots of progress recorded here for group review, no new technical topics planned for today.

----

0. *Attendees* John Carlson, Vince Marchetti, Dick Puk, Don Brutzman.

Invited experts are welcome to join members in this important activity.  We are an open organization. Please let us know if you have an important topic to present or discuss.

Information inputs are always welcome.  With much X3D activity occurring there is typically plenty to review each week.  We work cooperatively to ensure that progress continues is clearly recorded and communicated.

TODO confirm: all information in these weekly minutes is releasable publicly.

----

Recently Web3D meetings have switched to Zoom channels, to good effect.  Zoom allows use of internet audio, screen sharing, and chat with links.

We meet regularly on Fridays 0800-0930 pacific.  Connection information is available for members on the following page.

	Web3D Members: Teleconference Information
	https://www.web3d.org/member/teleconference-information

The X3D Graphics Working Group addresses all X3D specification issues and coordinates the technical development of future improvements.
	https://www.web3d.org/working-groups/x3d

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

We again had difficulty getting connected all at once.  We agreed participants in X3D meetings be prepared to switch to the original Web3D teleconference number.

> Teleconference line (backup)
> +1.877.929-9843 (US toll-free)
> +1.210.301.4738 (outside US, tolls may apply)
> At the prompt enter the passcode: '831186#'
> Say your name, then press '#' key again

At the risk of even further confusion, other working groups can make their own decision.  Shared outlook calendar appointments seem to help.

==================================

1. *Prior recent meetings and current developments*

	X3D working group minutes 7 June 2019: tracking implementation support
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-June/010935.html

	X3D working group minutes 14 June 2019: volume component additions
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-June/010988.html

Thanks for various informal meetings and progress during my recent absences.

There were several availability problems for this week's Korea Chapter/HAnim call Wednesday.  We will retry next week, one hour earlier at 1600 pacific.  Urgent items include
- HAnim video competition review (reportedly on easy chair? unknown),
- Names of program members for Web3D 2020 committee, and
- Planning VR Hackathon 2020.

a. ISO Status.

- Updated: we reviewed all pending decisions and recommendations and updated Plan of Actions Milestones (POAM) for Web3D 2019.

	Web3D ISO Legacy Specification Development Timeline
	https://docs.google.com/spreadsheets/d/1GdVcjQIid0Hohc_ajmepVOESy2sLtHSVvbvsFni89w8/edit

	Web3D Working Draft (WD) Specifications ISO Submissions Timeline
	https://docs.google.com/spreadsheets/d/15KoIa-tD2dTnqIbh3A1OqL_BMc3SpyiaVNTRPhSgTX0/edit

- For review during next week's meeting, Vince will merge the documents into a single spreadsheet with separate tabs and explanatory notes.

- ISO Final Draft International Standard (FDIS) ballot in progress for HAnim v2.  Upon successful  ballot completion, ISO editors prepare IS text.  Editors can review/comment on final form. Web3D can then publish final IS text on web3d.org site upon ISO publication.
- Submitted HAnim v2 is available in Github and on Web3D Standards page.  No functional changes expected.
	https://www.web3d.org/standards/h-anim
	https://github.com/Web3DConsortium/HAnim/blob/master/README.md

- Good news: Web3D made a number of recommendations regarding Web publication of standards.  All (or nearly all) suggestions were formally accepted by parent organization JTC1, 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.
- ISO SC24 2020 meeting will likely be in Melbourne Florida, hosted by Harris Corporation.

- Board attention needed on Web3D Consortium membership renewal in INCITS H3, the USA standards body for 3D graphics.  Our lapsed membership has never been renewed.  There has been some discussion about mutual memberships, further follow-up needed with Bill Protzman.  No progress observed, Web3D Consortium leadership please advise.

	H3 - Computer Graphics & Image Processing
	http://www.incits.org/committees/h3

b. CAD Design Printing Scanning Working Group.  Steady work continues on recent BIM exporter announcements (by Integrated FM Australia) and ISO SC24 WG16 liaisons.

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.  Renewed work possible on implementing HAnim 2, proposing Level of Expression (LOE) facial models, and designing various organ models.  Meeting planned for SIGGRAPH as part of Korean Chapter meeting.

e. X3D Semantic Web group made important progress during recent visits by Dr. Jakub Flotynski to Virginia Tech and NPS.  Work is continuing, next meeting is Monday 15 July 08-0900 pacific.

	[x3d-public] X3D Semantic Web announce: new X3D Ontology
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-June/010998.html

f. Web3D Birds of a Feather (BOF) meeting schedule for SIGGRAPH 2019:

	https://s2019.siggraph.org/conference/programs-events/birds-of-a-feather

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?

==================================

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
	https://www.web3d.org/event/web3d-conference-2019
	https://web3d2019.web3d.org

b. SIGGRAPH 2019
	Los Angeles, 29 July - 1 August
	https://s2019.siggraph.org

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

	Web3D Communications Team
	https://www.web3d.org/communications

==================================

3. *Draft X3Dv4 specification*

Status page for tracking progress:

	X3Dv4 Implementations Status
	https://www.web3d.org/x3dv4-implementations

Tagging and updating corresponding Mantis issues is occurring with each revision.

Thanks to Johannes Behr and Fraunhofer team for last week's update of Inline and Networking component.

	[x3d-public] Inline, X3DUrlObject allowed to add additional file types, etc.
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-July/011092.html

The Web3D Board of Directors has approved the release of an X3Dv4 specification draft at Web3D 2019 and SIGGRAPH conferences.  Release likely soon.  Current update is now available as .zip archive for Web3D members in GitHub, now checked in (4.3 MB) and linked on README.

	https://github.com/Web3DConsortium/X3D/blob/master/README.md

Request that Web3D webmaster be prepared to retrieve and publish latest zip after next week's expected review and approval by X3D Working Group.

Dick and Don meeting twice weekly to perform updates approved by X3D Working Group.

a. Automated quality assurance (QA) testing using HTML Tidy confirmed working satisfactorily.

Example build-log output identifying an issue follows, multiple small errors are now all fixed:
==============
index.html
../index.html: Doctype given is "-//W3C//DTD HTML 4.01 Frameset//EN"
../index.html: Document content looks like HTML 4.01 Frameset
no warnings or errors were found
==============
Architecture.html
line 408 column 76 - Warning: discarding unexpected </a>
line 408 column 76 - Warning: missing </span> before </li>
Architecture.html: Doctype given is "-//W3C//DTD HTML 4.01 Transitional//EN"
Architecture.html: Document content looks like HTML 4.01 Transitional
2 warnings, no errors were found!
[... etc. ...]
==============

b. Next: finish integrating Volume component contributions from Ander.

c. Dick, am getting warnings from multiple tools that our reference bookmarks use improper syntax, NMTOKEN does not allow [square brackets].  Can you please compare the IDs with recent ISO changes to HAnim v2 document so that we might reconcile the syntax as legal HTML.

> references.html
> line 43 column 9 - Warning: <a> attribute "id" has invalid value "[I639]"
> line 50 column 9 - Warning: <a> attribute "id" has invalid value "[I3166]"
> [... etc. ...]

d. Not sure what is going on with having two files index.html and index5.html at top level, I think one was experimental by Roy.  We need to diff/merge to consolidate these.

==================================

4. *X3D Node and Statement Inventory Comparison*

TODO no updates/revisions yet received: to X3D Node and Statement Inventory Comparison.

	https://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx
	https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf

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

Now recording implementation support in X3D SAI codebases: X3DJSAIL, X3D Python, C/C++/C# SAI builds.

Repeat request: 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 and Don Brutzman 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.

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

==================================

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

X3D Language Bindings are now condensed and moved to

	X3D Resources: Programming Languages
	https://www.web3d.org/x3d/content/examples/X3dResources.html#Programming

Much work is active and continuing. We are working to make X3D model construction, modification and publication both consistent and easy for any programmer.  This work is especially important for X3D v4 Implementations to advance the draft specification.

----

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
            https://www.web3d.org/x3d/content/examples/build.json.all.log.txt
- X3DJSONLD summary, status: improved README status would be helpful
- JSON Schema update
            https://json-schema.org has finally been updated to draft-08
            JSON Schema is a vocabulary that allows you to annotate and validate JSON documents.
- Review requested:  JSON Schema Work In Progress Feedback
      https://json-schema.org/work-in-progress
      "The forthcoming draft is now feature-frozen [...]"

- Thanks to John Carlson for initial review of this update.
	[x3d-public] X3D JSON schema, next
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-June/011007.html

- 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
- Stable, complete and working using
            X3DJSAIL: X3D Java Scene Access Interface Library
            https://www.web3d.org/specifications/java/X3DJSAIL.html
- Build outputs now in version control, available at
            https://www.web3d.org/x3d/content/examples/build.java.all.log.txt
- 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)
	https://www.web3d.org/specifications/java/X3DJSAIL.html
----

d. X3D Python Language Binding

- active work implementing by John Carlson and Don Brutzman, good assistance by Loren Peitso, Masaki Aono and Andreas Plesch.
- We continue tuning compilability and "Pythonic" elegance of syntax candidates.

- We have long been using X3DUOM/X3DJSAIL as an initial implementation to test Python syntax alternatives, with 80% success but some critical problems blocking full success.
- Key blocker confirmed. Pyjnius wrapping of X3DJSAIL is mapping of return types sometimes reverts to parent interfaces instead of the same class.  We no longer think that our customized Pyjnius configuration can fix this.  Internal improvements to Pyjnius might be useful someday but we are no longer considering that path.

- Breakthrough progress: we have shifted to autogenerating a native Python implementation of X3D Python package.

	[x3d-public] X3DPSAIL no need to wrap simple types; PyJNIus issues isolated;
	work next on native Python package
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-July/011080.html

	[x3d-public] X3D Python package design considerations - let Python be Python
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-July/011065.html

	[x3d-public] native Python package for X3D
	https://web3d.org/pipermail/x3d-public_web3d.org/2019-July/011081.html

Work continues.  We hope to have a draft package and fully updated examples in time for Web3D/SIGGRAPH conferences.

Future follow-on work once that is achieved:
- TODO Deployment: create a PIP module for X3D Python.
- TODO resume 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.
      https://www.web3d.org/specifications/X3DUOM.html
- Continued small improvements in X3DUOM and annotated X3D XML Schemas occur each week as we continue implementing and evaluating both X3DJSAIL for Java, and native package 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 has successfully produced initial-draft X3D ontology.  Much ongoing work to compare and align multiple additional 3D ontologies.

==================================

6. *References and Resources*

	X3Dv4
	https://www.web3d.org/x3d4

	X3Dv4 Implementations Status
	https://www.web3d.org/x3dv4-implementations

	X3Dv4 Development page
	https://www.web3d.org/wiki/index.php/X3D_version_4.0_Development

	X3D Specification Relationships
	https://www.web3d.org/specifications/X3dSpecificationRelationships.png

	Mantis Issues (requires member login, twice)
	https://www.web3d.org/member-only/mantis

	Web3D Specifications on Github: X3D (members can request access)
	https://github.com/Web3DConsortium/X3D

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

==================================

7. *Upcoming topics*

Next week: final conference preparations, release draft X3Dv4 specification.

- X3DOM release status?
- Unity3D exporter release status?
- Any other conference releases?

Topics list:

- 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
        http://www.web3d.org/member-only/mantis/view.php?id=1255
c. Prose already present in github components directory as ProjectiveTextureMapping.html
        43  Projective Texture Mapping Component
https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01/components/ProjectiveTextureMapping.html

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

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

- MetadataSet implementation efforts
- Jupyter notebook explorations

- 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.

==================================

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

Further we are getting our weekly improvement cycle stable and effective, repeatability is important.

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