[x3d-public] X3D minutes 5, and 12 March 2012: outreach activity, HAnim, metadata explorations, X3D Ontology, glTF examples

Don Brutzman brutzman at nps.edu
Fri Mar 12 12:09:12 PST 2021


Attendees  5 March 2021:  Vince Marchetti, Dick Puk, Don Brutzman

Attendees 12 March 2021:  Anita Havele, Vince Marchetti, Dick Puk, Don Brutzman

We continue to meet Fridays at regular time, 09-1000 pacific.

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

> Please use the following link for all Web3D Consortium Meetings.
>
> Join URL: https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09

Confirmed that no Web3D Consortium member-only information is in these minutes.

Informal meetings for last few weeks.  Prior minutes

[0.2]    X3D minutes 12 FEB 2021: X3D4 release, working groups are busy, possible Webinars and follow-on activities
          https://web3d.org/pipermail/x3d-public_web3d.org/2021-February/014727.html

Those 12 February minutes provide detailed updates of our (large) inventory of assets:

a. Draft X3D4 specification available,
b. Active working-group meetings, and also
c. Webinar planning... deferred for now.

We expect to continue each week with current activities, implementation status and Mantis issues review.  Mantis issues are also being reviewed/refined regularly by ISO/IEC Specification Editors Puk and Brutzman.

---

Updated version:

1. Outreach activity

a. Web3D 2020 Conference is looking at how to revise website for Web3D 2021 plus annual archiving.

[1.1]	Web3D 2020 Conference
      	https://web3D.siggraph.org

[1.2]	Web3D 2021 Conference
      	https://www.web3d.org/event/web3d-2021-conference

b. Draft testimonial for upcoming press release on W3C Web Audio Recommendation:

==================
Extensible 3D (X3D) Graphics is the royalty-free open standard for publishing, viewing, printing and archiving interactive 3D models on the Web.

The W3C Web Audio API is unique and fundamentally important for adding high-fidelity audio processing in a performant cross-platform manner for the Web.

X3D version 4 fully integrates all capabilities in the W3C Web Audio API as a declarative audio graph, within X3D scene graphs, for processing and synthesizing audio in spatialized Web applications.

Open-source implementations and examples repeatably demonstrate how compelling audio capabilities improve 3D interaction, realism and presence on the Web.

- Efi Lakka, University of South Wales, UK
- Thanos Malamos, Hellenic Mediterranean University (HMU), Greece
- Richard Puk, Intelligraphics Inc. USA
- Don Brutzman, X3D Graphics Working Group, Web3D Consortium
==================

---

2. Humanoid Animation (HAnim) implementation progress

Joe Williams and Don Brutzman continue working steadily on Humanoid Animation (HAnim) implementation stability, focusing on creation of test rules for Quality Assurance (QA).

Spec expectations: corrigendum of corrections, primarily.  Note that both HAnim version 2 specification (for functionality) and X3D4 specification (for syntax) are being closely checked simultaneously.  We are looking carefully at whether a revision will be needed (which is reserved for new functionality).

Completed:
- conversion of HAnim2 names to HAnim1 names (a little more to go for Site names that may be duplicative of parent segments),
- testing Level Of Articulation (LOA) correct for all defined names Joint, Segment and Feature Point (Site, Displacer).

Upcoming:
- creation of LOA4 example
- addition of default values to X3D4 schema and X3DUOM
- Continued diagnostics and correction of examples, see build log

[2.1]	HumanoidAnimation X3D Examples Archive
      	https://www.web3d.org/x3d/content/examples/HumanoidAnimation

[2.2]	Build log of diagnostics, warnings and error messages
      	https://www.web3d.org/x3d/content/examples/HumanoidAnimation/build.X3dTidy.log.txt
---

3. Metadata

Ongoing line of investigation is to create an example suite of X3D metadata sets that maps to a variety different metadata vocabularies.

Motivation: we expect that such activity can lead to:

- capture of relevant metadata with geometric export (for example with STEP or for Smart Cities)
- corresponding Semantic Web query via X3D Ontology constructs.

CAD Design Printing Scanning (DPS) group: member-only forum has excellent in-depth technical collaborations with other ISO standards for STEP and geometry.

We confirmed that VRML97 has full expressive power matching the X3D metadata model.

[3.1]	X3D for Web Authors, Chapter 15 Metadata Information
      	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata/Chapter15MetadataInformation.html

[3.2]	X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 15 Metadata
      	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata

The X3dToVRML97.xslt stylesheet inserts external prototypes during conversion to VRML97, since the prototypes are so simple we could easily add option to copy the prototypes themselves.

[3.3]	X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 15 Metadata, Metadata Node Examples
      	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamplesIndex.html

      	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.html#MyMetadataSetNode
	https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamples.wrl

inserted VRML97 prototype excerpts:
===================================
EXTERNPROTO MetadataBoolean [
   # [appinfo] MetadataBoolean contains a list of booleans in the value field
   exposedField SFString name
   exposedField MFFloat value
   exposedField SFString reference
   exposedField SFNode metadata # [appinfo] Metadata node only
][
   "MetadataPrototypes.wrl#MetadataBoolean"
   "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl#MetadataBoolean"
   "MetadataPrototypes.x3d#MetadataBoolean"
   "https://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.x3d#MetadataBoolean"
  ]

MetadataString {
   name "TestRootMetadataNode"
   value [ "Test satisfactory." "Note that all SFString values must be quoted."  ]
}
===================================

We discussed metadata in glorious detail and plan to next work on mapping the XMP vocabulary.  Originally by Adobe, XMP is supported by ISO 16684-1:2019 part 1 & ISO 16684-2:2014 part 2.

[3.4]	Wikipedia: Extensible Metadata Platform
      	"an ISO standard for the creation, processing and interchange of metadata for all kinds of resources
      	https://en.wikipedia.org/wiki/Extensible_Metadata_Platform

Don plans to add HAnim LOA1 example to this metadata collection:

[3.5]	X3D Example Archives: Humanoid Animation, Characters, Korean Character 01 Jin
      	https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/KoreanCharacter01JinIndex.html

Excerpt of interest follows.  X3dTidy cleaned up the original /info/ field by saving it as a comment and converting all name=value paires into a corresponding MetadataSet clooeltion.:
====================

<HAnimHumanoid DEF='hanim_Jin' name='Jin' scale='0.0225 0.0225 0.0225'>
<!-- HAnimHumanoid original info='"authorName=Chul Hee Jung and Myeong Won Lee" "authorEmail=myeongwonlee at gmail.com" "creationDate=31 March 2011" "humanoidVersion=2.0" "gender=female" "height=1.5"' -->
<MetadataSet name='HAnimHumanoid.info' reference=' https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid ' containerField='metadata'>
    <MetadataString containerField='value' name='authorName' value='Chul Hee Jung and Myeong Won Lee'/>
    <MetadataString containerField='value' name='authorEmail' value='myeongwonlee at gmail.com'/>
    <MetadataString containerField='value' name='creationDate' value='31 March 2011'/>
    <MetadataString containerField='value' name='gender' value='female'/>
    <MetadataString containerField='value' name='height' value='1.5'/>
    <MetadataString containerField='value' name='humanoidVersion' value='"2.0"'/>
</MetadataSet>
====================

Conversion mismatch: corrected entry for height should be

    <MetadataFloat containerField='value' name='height' value='1.5'/>

Specification documentation on Humanoid /info/ field:

[3.6]	HAnim version 2, Part 1 HAnim Architecture, 6 Object interfaces, 6.2 Humanoid
      	https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid
[...]

> The info field consists of a sequence of strings, each of which is of the form term=value. The following terms are defined in this document:
> 
>    authorName
>    authorEmail
>    copyright
>    creationDate
>    usageRestrictions
>    humanoidVersion
>    age
>    gender
>    height
>    weight
> 
> The gender term typically has a value of female, male or neuter. The humanoidVersion term refers to the version of the humanoid being used, in order to track revisions to the data. It is not the same as the version field of the Humanoid object, which refers to the version of the HAnim specification that was used when building the humanoid. Additional term=value pairs may be included as needed for specific applications.

Will also copy/create add X3D Geospatial and XMP examples in the archive [3.2].

---

4. X3D Ontology

Special queries for metadata:

[4.1]	X3D Ontology for Semantic Web: Queries using SPARQL
      	https://www.web3d.org/x3d/content/semantics/semantics.html#HelloX3dAuthorsAnimationChainQueries

[4.2]	X3D Ontology for Semantic Web: Queries using SPARQL, all document meta information
      	"Query HelloX3dAuthorsAnimationChain.ttl to identify all document meta information."
      	https://www.web3d.org/x3d/content/semantics/queries/AllDocumentMetaInformation.rq.txt
yields

---------------------------------------------------------------------------------------------------------------------------------------------
| metaName      | metaContent                                                                                                               |
=============================================================================================================================================
| "modified"    | "20 October 2019"                                                                                                         |
| "generator"   | "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"                                                                           |
| "description" | "Fully developed animation-chain example showing spinning globe and text: Hello!"                                         |
| "title"       | "HelloX3dAuthorsAnimationChain.x3d"                                                                                       |
| "identifier"  | "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/HelloX3dAuthorsAnimationChain.x3d" |
| "license"     | "../license.html"                                                                                                         |
| "creator"     | "Don Brutzman"                                                                                                            |
| "reference"   | "https://www.web3d.org/x3d/content/examples/Basic/course/HelloX3dAuthorsAnimationChain.x3d"                               |
| "created"     | "5 October 2000"                                                                                                          |
---------------------------------------------------------------------------------------------------------------------------------------------

Further parsing these as SPARQL queries:

[4.3]	X3D Ontology for Semantic Web: identify specific document meta properties
      	"Query HelloX3dAuthorsAnimationChain.ttl to identify specific document meta properties of interest."
      	https://www.web3d.org/x3d/content/semantics/queries/DocumentMetaProperties.rq.txt

------------------------------------------------------------------------------------------------------------------------------------------------------------
| title                               | creator        | created          | modified          | hasLicense | hasDescription | hasIdentifier | hasReference |
============================================================================================================================================================
| "HelloX3dAuthorsAnimationChain.x3d" | "Don Brutzman" | "5 October 2000" | "20 October 2019" | true       | true           | true          | true         |
------------------------------------------------------------------------------------------------------------------------------------------------------------

This is a start, these string responses to queries might possibly become RDF triples in our next iteration.

We plan to add special queries for HAnimHumanoid metadata to accomplish similar feats of Semantic Web magic.

We will then continue with X3D Geospatial and XMP examples.

Jakub Flotyński typically meet Tuesday mornings to work on X3D Ontology and Semantic Web constructs.  Lots of very cool progress is percolating.

[4.4]	[x3d-public] X3D Semantic Web minutes 5 March 2020: modified meeting time, essential books, Apache, DFDL pipeline and 3D conversions
      	https://web3d.org/pipermail/x3d-public_web3d.org/2021-March/014776.html

---

5. glTF examples

We'd like to offer more examples of glTF with X3D4 for display, demonstration, and implementation efforts.

It is fairly trivial to obtain glTF models and inline them in X3D4, but it seems harder to create and light them in X3D4.

Suggestions and contributions welcome.  We know of the following useful example models and archives.

a. From Vince Marchetti:

[5.1]	"Smart Dressed Man" Demo: Load glTF asset into X3D scene in X3DOM viewer
      	https://www.kshell.com/pages/gltfassets/sharpdressedman
      	(screenshot attached)

Vince notes that proper application of lighting with Physically Based Lighting (PBR) is hard to accomplish.  We may need to develop more detailed examples and guidance in this regard.

Any further comment?

b. From Andreas Plesch:

[5.2]	Tea Service, Simple x3dom glTF viewer (140MB)
      	https://x3dom-gltf-iiif.glitch.me
      	(screenshot attached)

c. From Michalis Kamburelis:

[5.3]	Castle Game Engine > Scene graph (X3D) > Demo models
     	https://castle-engine.io/vrml_x3d.php

d. From Khronos glTF working group:

[5.4]	github KhronosGroup / glTF-Sample-Models
      	https://github.com/KhronosGroup/glTF-Sample-Models
      	https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0

Search turns up many similar hits, perhaps different people implementing these same examples.

---

6. Next week: possibly look at some mantis issues, there are some interesting ones deserving discussion.

We will again look at MFString in XML Encoding (includes empty string array and default string without quotes).  Not only are we becoming more adept but our Quality Assurance (QA) tools are becoming more capable and discerning.

[6.1]	Mantis 1320: relax requirement for quoted single-string value in MFString array
      	https://www.web3d.org/member-only/mantis/view.php?id=1320

[6.2]	Mantis 705: 5.15 SFString and MFString - Escaping backslashes
      	https://www.web3d.org/member-only/mantis/view.php?id=705

---

Thanks for all efforts in all directions.  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: X3domSharpDressedManMarch2021.png
Type: image/png
Size: 417521 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210312/d5396d21/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: X3domTeaServiceMarch2021.png
Type: image/png
Size: 387290 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210312/d5396d21/attachment-0003.png>


More information about the x3d-public mailing list