[x3d-public] X3D minutes, 17 JAN 2020: X3Dv4 progress, rename hidden as visible, name types, Mantis issue resolution

Don Brutzman brutzman at nps.edu
Fri Jan 17 09:34:32 PST 2020


Agenda: ongoing review of progress and issues list for X3Dv4.

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

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

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

Members and invited experts are welcome.  We are an open organization. Please let us know if you have an important topic to present or discuss.

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

Teleconference information appears below.

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

0. *Agenda check*

Welcome everyone, we are working our way forward to finish X3Dv4.  8)

Previous minutes:

[1] [x3d-public] X3D Working Group minutes 3 JAN 2020: X3Dv4 progress; PointProperties and points/lines/mesh, OBJ
     https://web3d.org/pipermail/x3d-public_web3d.org/2020-January/011615.html

[2] [x3d-public] X3D working group minutes, 9 JAN 2020: recent events, X3Dv4 progress, name restrictions,	
     hidden field, Mantis issue resolution
     (actual meeting 10 JAN, minutes posted 11 JAN)
     https://web3d.org/pipermail/x3d-public_web3d.org/2020-January/011640.html

Discussion follows on new and recent implementation efforts:

------

0.a. Web page review.  How do draft X3Dv4 banners look?

https://www.web3d.org

> Image is unlinked, it should go the same link as adjacent text.
> Overall the banner seems quite large, both on desktop and phone.  Suggest reducing image size and fewer words

https://www.web3d.org/x3dv4-highlights

	TODO center alignment of text not working

------------------

0.b. TODO (real soon now): we will begin listing *X3Dv4 Assets* on X3D Implementations page. For example:

	full:	X3D XML Schema, DOCTYPE, Schematron, Tooltips, X3D0-Tidy,
		X3D Examples validation, X3DUOM, X3D Java, X3D Python, X3D Ontology
	partial: X3DOM, X_ITE, view3dscene (see table)
	maybe:	FreeWrl, X3DJSONLD JavaScript
	coming:	X3D-Edit

Progress report:  Terry Norbraten has upgraded NPS branch of Xj3D to run under Java 13.  Testing, deployment and documentation updates in progress, likely release next week.  Will perform regression testing on thumbnail images for X3D Examples.  Includes corrections to FontStyle, Extrusion, NURBS.  Future work: will create stub classes and methods for X3Dv4 nodes and fields.

------

0.c. Mailing list dialog about JavaScript/ECMAScript SAI implementation, providing best patterns and extending JSON encoding, autogeneration using X3DUOM.

	[x3d-public] TypeScript SAI (and ECMAScript API implementation)
	https://web3d.org/pipermail/x3d-public_web3d.org/2020-January/011666.html

Primary motivation: additional implementation of X3Dv4 in native JavaScript, usable in node.js (for example).

No need to dwell on TypeScript from perspective of X3Dv4 standardization, though possible motivator for Microsoft engagement with Web3D Consortium as well as ISO.

------

0.d. Web3D 2020 Conference status

- Teleconferences every 1-2 weeks
- Working on website recovery, temporary site https://web3d.or.kr
- Web3D announcement site
   https://www.web3d.org/event/web3d-2020-conference-seoul-korea
- Working on ACM TMRF for submission, imminent

Dates:
- Expected paper, session proposal deadline: 20 FEB 2020
- VR Hackathon, 21-23 June 2020 (tentative)
- Conference 24-26 June 2020

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

1. *X3Dv4 Progress Review*

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

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

d. Many specification improvements and additions.

Key references:

[1] X3D Version 4 Overview
       https://www.web3d.org/x3dv4

[2] X3Dv4 Highlights
       httpss://www.web3d.org/x3dv4-highlights

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

[4] Draft X3Dv4 specification from SIGGRAPH, August 2019
      https://www.web3d.org/news-story/x3dv4-draft-specification-available-public-now

[5] Mantis Issue Tracker (requires 2 sets of member login)
      https://www.web3d.org/member-only/mantis/view_all_bug_page.php

You 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, others),
- 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).

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

2. *IPR statements* - still pending, Anita is communicating with each individual involved.

Goal completion by end of January.

Terms of membership and a requirement for contributing technology is to sign the Web3D Intellectual Property Rights (IPR) Policy asserting that no known patented technology subject to licensing is being submitted.

https://www.web3d.org/sites/default/files/page/Join%20the%20Web3D%20Consortium/Web3D_IPR.pdf

Web3D Executive Director Anita Havele has checked past records.  Since many of these were signed years ago, we simply plan to ask everyone contributing to X3Dv4 specification to again assert that they are following the IPR policy.

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

3. *Web3DUX Working Group Proposal*

Awaiting final response by Web3D Board of Directors... preparing for working-group announcements and commencement.

Thanks for all review of Web3DUX Working Group Proposal and draft Charter.  Dr. Feng Liu and Dr. Amela Sadagic have submitted to Web3D Board of Directors, feedback from Board of Directors review has been provided, public website and announcement is expected soon.

[5] [x3d-public] 27 NOV 2019 - Web3DUX working group meeting minutes and Web3DUX working group proposal review
      http://web3d.org/pipermail/x3d-public_web3d.org/2019-November/011530.html

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

4. *Mantis Issues*

We have 81 issues tagged as X3Dv4.0.
https://www.web3d.org/member-only/mantis/view_all_bug_page.php

Our primary work is reviewing the list and addressing issues.

* Mantis Definitions
    http://www.web3d.org/member/mantis-definitions

* Mantis Workflows
    http://www.web3d.org/member/mantis-workflow

------

Priority: issues that affect schemas, validation and examples.

4.a. Mantis 1271: add hidden field to Shape
      https://www.web3d.org/member-only/mantis/view.php?id=1271

Discussion:  see email thread from last week's minutes and the Mantis issue itself.

Pending today: rename to "visible"?  Note change to CADAssembly.  Also need example scene.

TODO: example models for testing implementations.

Related: whether this has impact on X3DPickableNode.  Our immediate reaction is to confirm that we have formal prose that non-visible geometry is not pickable.

We agreed to proceed in this manner.  Once accomplished, this bug is left open that final implementation/evaluation in 2 browsers is needed.

------

5.b. Environment node for gamma correction - comments on mailing list, more to follow.  Nicholas tracking... looking at X3DOM capabilities that need to be elevated to X3Dv4 and multiple implementations.  Review by Michalis (wrt PBR), Andreas and Holger (X3DOM-X_ITE), Doug Sanden (FreeWrl) et al. is welcome.  Note overlap with web browser functionality, perhaps utility methods should be exposed in A3D SAI Browser class.

    https://www.web3d.org/mailman/private/x3d_web3d.org/2020-January/007790.html

------

5.c. Prior discussion: how to we specify types in metadata sets and metadata schemas?

Pending today: can we apply/confirm these changes?

Related issue: should 'name' field be NMTOKEN or SFString?  The answer varies.  This is a shared issue for Metadata, CAD, HAnim, protos, field/fieldValue definitions, DEF/USE (type ID/IDREF), ROUTE (IDREF), IMPORT/EXPORT etc.

We had a long and interesting discussion on metadata schemes, looking at an example that Nicholas is constructing.

* Metadata example for multi-LOD laser scan
   https://docs.google.com/document/d/1c1gDggN3Qr3fHKH8oHhM8soWuX_24bT3_nsdSAxzcvw/edit?usp=sharing

Of course in all cases when considering resolution of issues, our precedence of priorities should be along the lines of
- what is correct answer for X3Dv4,
- potential impacts on tools and content,
- does specification need change from X3Dv3.3,
- best way to achieve content validation to match.

Naming conventions are especially pertinent as far as data models go.  How strict should we be with respect to names?  The X3D Abstract Specification is often silent about this, requiring interpretation or deserving better clarity.  More about naming conventions can be found in the X3D Scene Authoring Hints.

- meta Statements
   https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#metaStatements
- Metadata Nodes
   https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#MetadataNodes
- Naming Conventions
   https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions
  
The primary distinction being made in the X3D XML Schema and DOCTYPE tend to be
- NMTOKEN (no whitespace) for names that are identifiers or strict enumerations, such as Prototype names
- SFString (whitespace allowed) for names that are less formal.
- ID/IDREF (unique NMTOKEN values) for DEF/USE names that have to be validated and strictly referred to (for example, by ROUTE statements).

In general, since metadata schemes by other parties can vary greatly, we agreed to *not restrict the presence of whitespace in names* that might be defined by other taxonomies and don't affect scene-graph integrity.

*For review: proposed typing of 'name' fields follows*

- No space allowed:   Prototypes, field/fieldValue, vertex nodes (used by shader programs), UNIT
- Whitespace allowed: CAD, HAnim, meta statement, Metadata nodes

Discussion: we thought that naming of UNIT factors should be an author prerogative, but spec already says name has no whitespace:

* 7.2.5.5 UNIT statement
https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#UNITStatement
> A change in a base unit is specified by UNIT statements at the top of the file preceding any element content but in the statement order specified in 7.2.5.1 Organization. The form of the UNIT statement is:
> 
>     UNIT <category> <name> <conversionFactor>
> 
> where <category> is a string specifying one of the categories in Table 4.2, <name> is a string that does not contain whitespace that provides a name for the new default base unit, and <conversion_factor> is a positive double precision value that converts the new default base unit to the initial base unit specified in Table 4.2. Direct modification of conversion factors for derived units is not allowed.

Also noticed an inconsistency: sometimes the schema uses schema type xs:NMTOKEN and sometimes xs:token.  A close read of the XML Schema Recommendation shows that they are nearly identical, with xs:NMTOKEN defined to exactly match DOCTYPE NMTOKEN (for backwards compatibility) while xs:token has identical constraints on values, and allows further restrictions on types via a regular expression (regex) pattern.  I believe that xs:token is what we want to apply consistently in X3D XML Schema.

- W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, 3.4.2 token
   https://www.w3.org/TR/xmlschema11-2/#token

- W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, 3.4.4 NMTOKEN
   https://www.w3.org/TR/xmlschema11-2/#NMTOKEN

Of note is that the following pending Mantis issue, which notes that
	7.3.4 X3DMetadataObject
	https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#X3DMetadataObject
	"The specification of a non-empty value for the name field is required."

Recommend we keep spec unchanged and clear the following Mantis issue.

* 764: 7.3.4 X3DMetadataObject - Is name field required?
   https://www.web3d.org/member-only/mantis/view.php?id=764
   related to issue 530, which was resolved.

Multiple TODO action items will immediately flow from these decisions.

- Review, resolve proposed typing of 'name' fields
- Replace XML Schema xs:NMTOKEN types with SFString or xs:token, as appropriate
- Confirm XML Schema and XML DOCTYPE match as closely as possible
- Update X3DUOM, X3DJSAIL Java, X3DPSAIL Python, X3D Tooltips
- Add warnings (or relax errors) to X3D Tidy and X3D Schematron, as appropriate
- Check X3D Examples by unit testing

We agreed to proceed as summarized above.

Future challenge shared by most of our working groups: comprehensive/flexible mapping of metadata taxonomies and validation of model content.  (My goodness what a wonderful world it will be when we are at that level of maturity!)

------

5.d. Next issues to pursue... suggest participants identify one issue and be prepared to address it each week.

* TODO: update status for unassigned Mantis tasks (will filter and display on screen)

* 1092: 7 Core component - MetadataSet or Metadata* node(s) as root nodes
   https://www.web3d.org/member-only/mantis/view.php?id=1092

* Metadata default containerField: some discussion, more to follow soon...
   where is our Mantis issue for that??  There was a lot of email on this... If Mantis issue is not found, will regenerate.
   Note that this pertains to XML encoding, hoping to use a different default value in order to best support existing X3D functionality.

* 717: 7.3.4 X3DMetadataObject - Add value field
   (This is a specification-editing consistency issue)
   https://www.web3d.org/member-only/mantis/view.php?id=717

* 753: 7.2.4.4 Assigning metadata to an entire X3D world - Incorrect link
   https://www.web3d.org/member-only/mantis/view.php?id=753

Propose resolving (closing) the following issues as already complete - comments welcome.

* Issue 764, covered above

* Future feature:  4.4.2.2 - New Field Access Type
   https://www.web3d.org/member-only/mantis/view.php?id=212

* ProtoInstance name not required
   Mantis issue 1168: 4.3.10 ProtoInstance and fieldValue syntax - ProtoInstance USE requirement for name field should be removed
   This has been implemented.  Also note that defining a new ProtoInstance with no 'name' might pass initial validation but remains erroneous.
   https://www.web3d.org/member-only/mantis/view.php?id=1168

5.e. Michalis has made great progress with his online converter! Let's take a look at it together next week.  8)

* [x3d-public] Convert to X3D (from glTF, OBJ, STL, Collada, ...) and change X3D encodings using online Castle Game Engine converter
   https://web3d.org/pipermail/x3d-public_web3d.org/2020-January/011632.html

TODO: add to X3D Resources.

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

5. *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
      http://www.web3d.org/member/teleconference-information

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

Participants review the public minutes to confirm that no member-only information is present.

Lots of effort continues.  Thanks to everyone contributing, your work is important to all of us.

Everyone else, please consider how you are helping... there are things TODO for everyone.

We will schedule several small items and one more significant Mantis issue each week, repeating until done.

Our current emphasis is to resolve all Mantis issues affecting Schema/DOCTYPE/X3DUOM to match X3Dv4 spec node signatures so that implementations and examples can proceed with full confidence and clarity.

Thanks for all contributions today.  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 x3d-public mailing list