[x3d-public] X3D minutes 19 APR 2019: tracking X3Dv4 implementation progress

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Fri Apr 26 05:57:34 PDT 2019


[Corrected copy: prior posted minutes said Agenda in subject line.  Resent without other changes.]

0. *Attendees* Vince Marchetti, Dick Puk, Don Brutzman.  Regrets from Anita Havele.

Today's goal: Review X3Dv4 website status, issue call for implementation support of active nodes and components.

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.

----

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

We meet regularly on Fridays 0800-0930 pacific.  To join the teleconference:
	Web3D Teleconference
	http://www.web3d.org/member/teleconference-information

The X3D Graphics Working Group addresses all X3D specification issues and coordinates the technical development of future improvements.
	http://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
	http://www.web3d.org/join

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

1. *Prior meeting minutes and agenda review*

	X3D minutes 12 APR 2019: X3Dv4 discussions, next steps on PointProperties, PTM started
	http://web3d.org/pipermail/x3d-public_web3d.org/2019-April/010540.html

At this point we discuss recent meetings current developments, and agenda goals.

a. Dick and Don continue applying additional comments on HAnim FDIS from ISO editors.  Latest versions reported on HAnim mailing list.

b. Design Printing Scanning (i.e. CAD) Working Group wondering if point-cloud data from Notre Dame cathedral might be available, with more likely to follow as recovery from the conflagration occurs.  This is an important opportunity for cultural heritage efforts.

c.  Design Printing Scanning (i.e. CAD) Working Group continuing specification/example/implementation efforts on PointProperties, which is ready for additional implementations.  Next is Annotation Component.

Agenda review: what else?

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

2. *Recent and Upcoming Events*

Several important external events relating to X3D have occurred.  Significant valuable resources are online that are worth quick review. Expect to see further twitter announcements on these.

a. AMIA 2019 Informatics Summit Workshop: Web3D Quickstart, Standards-based 3D in Health and Medicine
            http://www.web3d.org/event/amia-2019-informatics-summit-workshop-web3d-quickstart-standards-based-3d-health-and-medicine

b. Web3D Quickstart Workshop
            http://www.web3d.org/web3d-quickstart

c. Protege Short Course,  MARCH 27 - 29, 2019 at STANFORD, CA
             https://protege.stanford.edu/short-courses.php

d. Cancelled, made event announcement inactive:
            First Eurographics-EuroVR Workshop on Semantic 3D Content
            http://www.web3d.org/event/first-eurographics-eurovr-workshop-semantic-3d-content
            X3D Semantic Web Working Group is circulating draft workshop submission for Web3D 2019 to ascertain participation commitments.

e. In preparation: Web3D 2019 Conference
            http://www.web3d.org/event/web3d-conference-2019
            http://web3d2019.web3d.org

f. SIGGRAPH 2019
            https://s2019.siggraph.org

Communications team meets weekly to continue promoting Web3D, X3D and HAnim.  Several of these items are old and will be cleared once final announcements/tweets are made.

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

3. *References and Resources*

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

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

	X3D Specification Relationships
	http://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.

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

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

Note that X3D is highly extensible.  Several (HAnim, X3DUOM, X3DJSAIL implementation) are aligned with X3Dv4, but all of these file encodings and language bindings are aligned with X3Dv3.3.  We are ensuring that upgrade of each will be ready to immediately follow next year's approval of the X3Dv4 architecture.

All Recommended Standards found at

	http://www.web3d.org/standards

----

a. Humanoid Animation (HAnim)
- HAnim specifications are a closely related ISO standard
- FDIS submitted to ISO, final comment resolution in progress.
      https://github.com/Web3DConsortium/HAnim
- Updated zip available to members containing both volumes together.
- If FDIS is accepted, then a 2-month ballot among ISO JTC-1 member nations hopefully leads to IS approval.
- HAnim version 2 is included already in X3Dv4, final review upon receipt of ISO approval of HAnim version 2.
      https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01/components/hanim.html
- Active work on implementing in X3Dv4 by Joe Williams and Don Brutzman, further implementation work is ongoing.

----

b. X3D ECMAScript language binding (v3.3)
- ECMAScript is formal standardization name for JavaScript.
- ISO status: CD ballot completed SEP 2014, but will need restart to proceed NWIP-CD-DIS-FDIS-IS.
- Will require review once X3Dv4 HTML5/DOM architecture is settled.

----

c. X3D Java language binding (currently v3.0, preliminary review v3.3 showed some diffs)
- Build outputs now in version control, available at
           http://www.web3d.org/x3d/content/examples/build.java.all.log.txt
- Stable, complete and working using
           X3DJSAIL: X3D Java Scene Access Interface Library
           http://www.web3d.org/specifications/java/X3DJSAIL.html
- TODO: review and update Java specification for v4.0

----

d. JSON file encoding for X3D
- http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding
- Build outputs now in version control, available at
           http://www.web3d.org/x3d/content/examples/build.json.all.log.txt
- X3DJSONLD summary, status needed from John Carlson
- 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.
"Update as of 31 March 2019.  You may be wondering what in the world is going on with this draft? The short version is: we are entering the home stretch. There are some ideas for simplifying $id that we are considering, and then there will be a final review period for feedback on overall flow and clarity. [...] We expect to publish a new round of drafts (Core, Validation, Hyper-Schema, Relative JSON Pointer) in the next month or two" [...]
- TODO: update X3D JSON schema to match next version, then autogenerate from X3DUOM
- TODO: create X3D JSON specification
- As time permits we may proceed with an X3D JSON Schema update even if draft-07 isn't 100% complete.
- TODO a second supporting implementation (X3DJSAIL has stylesheet export, will add loader).

----

e. X3D Python Language Binding
- active work implementing by John Carlson and Don Brutzman, insightful assistance by Loren Peitso.
- We are using X3DUOM/X3DJSAIL as an initial implementation to test Python syntax alternatives.
- We continue tuning compilability and "Pythonic" elegance of syntax candidates.
- Published: syntax v1 and v2 links for all X3D Example Archive scenes, automated in build processes.  Examples:
      https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldIndex.html
      https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.py
      https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.future.py
- TODO fix Pyjnius mappings for syntax v2.
- TODO write up implementation capabilities and then create specification.
- TODO a second supporting implementation.

----

f. 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.
           http://www.web3d.org/specifications/X3DUOM.html
- Continued small improvements in X3DUOM and annotated X3D XML Schemas occur each week.
- We continue implementing and evaluating both X3DJSAIL for Java, and (presumably X3DPSAIL for) Python.
- Separate comprehensive versions for X3D v3.0 through v4.0.

----

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

----

h. *new* Efficient XML Interchange (EXI) Compression
- NPS has resumed testing of Exificient and OpenEXI/Nagasena open-source Java implementations.
- Checking on status of publications, Canonical EXI and EXI4JSON were already completed.
      https://www.w3.org/XML/EXI
- Latest capabilities included in X3DJSAIL.  HelloWorld.x3d XML compression example:
      file-size result 26% ZIP, 24% GZIP, 14% EXI
- TODO: update X3D-Edit and example archives
- TODO: EXI compression in combination with XML Digital Signature and XML Encryption
- TODO: EXI4JSON algorithm and W3C Recommendation updates when JSON Schema is finally formalized.

The status here appears to be nearly complete... one or two weeks of quick-look review and will likely more this to one of the web pages, X3Dv4 implementation perhaps.

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

5. *PointProperties*

Task today: due to late publication of prior minutes, quicklook review of Mantis issue and prose in Github repository.

Mantis 1252: Prepare specification prose for a PointProperties node
http://www.web3d.org/member-only/mantis/view.php?id=1252

https://github.com/Web3DConsortium/X3D
(note convenience links on README)
https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01
then specification paragraph 12.4.5 PointProperties
https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01/components/shape.html

Dick, Vince and I reviewed the Mantis issue prose transcribed in the draft specification, made some small improvements editorially.  Discussion on whether "pointsize" was a term defined elsewhere, Dick will look further.  Otherwise we should consider lowerCamelCase "pointSize" for consistency

For example, "hatchstyle" and "linetype" are defined as single term in ISO Register, we have matched that capitalization convention.  Few other occurrences exist, X3D node and field names have been pretty consistently identified using camel case.

ISO/IEC 9973 Items Register
https://isotc.iso.org/livelink/livelink/fetch/-8916524/8916549/8916590/6208440/iso_items_register.html

Vince pointed out an example scene can be found as follows, it also renders as a cloud of points in Instant Reality:
- http://svn.code.sf.net/p/xj3d/code/trunk/parsetest/xj3d_extensions/pointsprites/

Imminent TODO: Don will add/adapt this scene in X3D Basic Examples.

List of known PointProperties implementations: Xj3D only.  Ready for additional implementations by all X3D browsers.

Call for Implementation will be included on overall X3Dv4 page we are building... we discussed and agreed to sharing of draft specification prose to encourage and help implementers.

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

6. *X3Dv4 Implementation Status*

BLUF: we reviewed the following, agreed that this kind of information needed to be prominent to encourage execution.  Initial draft now available at

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

- - - -

Suggested structure follows.  New page, or part of Technical Developments page?

Table of information:

| Components and Nodes |
| Specification Paragraphs |
| Examples |
| Implementations |
| Validation, Tooltips |
| Notes |

Is the above table structure OK?  Any improvements?

Draft prose follows.

- - - -

X3D Working Group is executing Web3D Process and meeting guidance by Board of Directors, all to good effect.  Membership has value.

Approach summary
* Write: draft X3D specification sections to align with HTML5/DOM,
* Implement: X_ITE/X3DOM (for HTML) and other X3D browsers,
* Evaluate: using ~2500 test scenes and multiple players,
* Track:  iteratively improve until each success threshold is reached.

Milestones
* Publish draft specification plus examples and implementation updates at Web3D/SIGGRAPH 2019.
* Working group closes new-technology submissions 16 DEC 2019.
* Working Draft submitted to community, members, Board and ISO in 1Q2020.

The following imperatives are the top priorities.
* X3D v4 Strategy
* X3D v4 Technical Development
* X3D v4 Implementation Status is forthcoming
* Web3D Process is working satisfactorily.
* All technical issues advancing satisfactorily with steady progress.
* Web3D member-only information carefully noted and separate.  Meeting minutes posted publicly to build understanding and momentum.

Excellent team efforts underway.
* Dr. Dick Puk and Dr. Don Brutzman: ISO specification drafts and revisions on member-only github site.
* Dr. Nicholas Polys: Medical and Heritage working groups.
* Dr. Vince Marchetti: Design Printing and Scanning (DPS) Working Group.
* Dr. Michalis Kamburelis: glTF, lighting, physically based materials, shaders, additional advanced topics.
* Dr. Andreas Plesch: dev trees, testing X_ITE and X3DOM.
* Holger Seelig: X_ITE player and Titania authoring tool
* Dr. Athanasios Malamos: Audio and sound improvements.

For best progress, we have multiple tasks pending and welcome all participation.  Each new contributor is valued and will benefit also.

- - - -

All comments continue to be welcome.  Following our group discussion Friday, will post.

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

6. *Upcoming topics*

* 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, more is needed to align with Medical and Heritage metadata standards.
b. 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 - how to best upgrade that code?
e. Highlight how does syntax disambiguate handling of event passing for 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 - following last "deep dive" discussion and further efforts, again unable to find a path forward other than resolving containerField default for XML encoding.  Continuing with other containerField suggested improvements will further help improve consistency of field names and object model.
	http://www.web3d.org/member-only/mantis/view.php?id=686
	http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#containerField

* Tagging and prioritizing Mantis issues.

* X3D event model and passing values to/from HTML5/DOM: write draft specification prose for review.

* Physically based materials and lighting model, glTF, shaders (Michalis Kamburelis)

* Sound component improvements
      http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf

* Enhanced Geospatial Component: specification text is written, capabilities are valuable, but no one seems to be working on X3D geospatial component at the moment.

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

Related work:
- TODO finish, submit workshop proposal for X3D Semantic Web Working Group at Web3D 2019.
- X3D and other BOFs at Web3D 2019 and SIGGRAPH, how to best execute these?
- Carto BOF, are there any candidates for that?  So far, none.
- X3DOM official release is planned for this summer.  8)

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

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

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